(BraceGroup
  left: <Id.Lit_LBrace '{'>
  children: [
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DBracket
                      expr: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_EqualTilde
                          left: {($ Id.VSub_Number 1)}
                          right: 
                            {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> 
                              <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                            }
                        )
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                  spids: [102]
                )
              ]
              redirects: []
            )
          ]
          spids: [79 99]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DBracket
                      expr: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_EqualTilde
                          left: {($ Id.VSub_Number 2)}
                          right: 
                            {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> 
                              <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                            }
                        )
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITONBACK='> name:EXITONBACK)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 2)}
                  spids: [136]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEXT_MENU_BACK='> name:TEXT_MENU_BACK)
                  op: assign_op.Equal
                  rhs: {(DQ <Exit>)}
                  spids: [140]
                )
              ]
              redirects: []
            )
          ]
          spids: [113 133]
        )
      ]
      else_action: []
      redirects: []
    )
    (C {<.>} {<'/DietPi/dietpi/func/dietpi-globals'>})
    (C {<G_CHECK_ROOT_USER>})
    (C {<G_CHECK_ROOTFS_RW>})
    (C {<export>} {<Id.Lit_VarLike 'G_PROGRAM_NAME='> (SQ <DietPi-Config>)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HW_ONBOARD_WIFI='> name:HW_ONBOARD_WIFI)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<sed>} {<-n>} {<10p>} {<'/DietPi/dietpi/.hw_model'>})
                right: <Id.Eof_RParen _>
              )
            }
          spids: [190]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FP_CPU_SCALING_GOV='> name:FP_CPU_SCALING_GOV)
          op: assign_op.Equal
          rhs: {(SQ <'/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors'>)}
          spids: [202]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: Load_Installed_Software
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-f>} {<'/DietPi/dietpi/.installed'>} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<.>} {<'/DietPi/dietpi/.installed'>})]
                  spids: [228 239]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'HW_MSG_NOTSUPPORTED='>
              name: HW_MSG_NOTSUPPORTED
            )
          op: assign_op.Equal
          rhs: {(DQ <'Not Supported'>)}
          spids: [267]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: Info_HW_OptionNotSupported
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_QUESTION='> name:WHIP_QUESTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ <'This option is not available for '> 
                        ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION)
                      )
                    }
                  spids: [280]
                )
              ]
              redirects: []
            )
            (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} 
              {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<8>} {<65>}
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Info_Input_Not_Valid_Integer
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<whiptail>} {<--title>} {(DQ <'Invalid Value'>)} {<--msgbox>} 
              {
                (DQ ($ Id.VSub_DollarName OPTION) 
                  <' is an invalid value. No changes have been applied'>
                )
              } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<10>} {<60>}
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [365]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXITONBACK='> name:EXITONBACK)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [369]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEXT_MENU_BACK='> name:TEXT_MENU_BACK)
          op: assign_op.Equal
          rhs: {(DQ <Back>)}
          spids: [374]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_BACKTITLE='> name:WHIP_BACKTITLE)
          op: assign_op.Equal
          rhs: {(SQ <DietPi-Config>)}
          spids: [381]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
          op: assign_op.Equal
          rhs: {(SQ <DietPi-Config>)}
          spids: [387]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_QUESTION='> name:WHIP_QUESTION)
          op: assign_op.Equal
          rhs: {(SQ <DietPi-Config>)}
          spids: [393]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [399]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [403]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'WHIP_SELECTION_PREVIOUS='>
              name: WHIP_SELECTION_PREVIOUS
            )
          op: assign_op.Equal
          rhs: {(SQ )}
          spids: [408]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'WHIP_OPTIONS_MAX_DISPLAY='>
              name: WHIP_OPTIONS_MAX_DISPLAY
            )
          op: assign_op.Equal
          rhs: {<9>}
          spids: [418]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'REBOOT_REQUIRED='> name:REBOOT_REQUIRED)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [423]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MIN_VALUE='> name:MIN_VALUE)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [432]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAX_VALUE='> name:MAX_VALUE)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [436]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: Menu_Main
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <DietPi-Config>)}
                  spids: [452]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {(DQ <' Hardware : '> ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION))}
                              {<--cancel-button>}
                              {(DQ <Exit>)}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<18>}
                              {<50>}
                              {<10>}
                              {(DQ <1>)}
                              {(DQ <'Display Options'>)}
                              {(DQ <2>)}
                              {(DQ <'Audio Options'>)}
                              {(DQ <3>)}
                              {(DQ <'Performance Options'>)}
                              {(DQ <4>)}
                              {(DQ <'Advanced Options'>)}
                              {(DQ <5>)}
                              {(DQ <'Language/Regional Options'>)}
                              {(DQ <6>)}
                              {(DQ <'Security Options'>)}
                              {(DQ <7>)}
                              {(DQ <'Network Options: Adapters'>)}
                              {(DQ <8>)}
                              {(DQ <'Network Options: NAS/Misc'>)}
                              {(DQ <9>)}
                              {(DQ <'AutoStart Options'>)}
                              {(DQ <10>)}
                              {(DQ <Tools>)}
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [458]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [605]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [645]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 20>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                                              name: TARGETMENUID
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [668]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<Info_HW_OptionNotSupported>})
                                  ]
                                  spids: [650 664]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [627 641]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<14>}
                                  spids: [698]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 20>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                                              name: TARGETMENUID
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [721]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<Info_HW_OptionNotSupported>})
                                  ]
                                  spids: [703 717]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [680 694]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<4>}
                                  spids: [751]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 20>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                                              name: TARGETMENUID
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [774]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<Info_HW_OptionNotSupported>})
                                  ]
                                  spids: [756 770]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [733 747]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<3>}
                                  spids: [804]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [786 800]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 5>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<7>}
                                  spids: [827]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [809 823]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 6>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<5>}
                                  spids: [850]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [832 846]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 7>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<8>}
                                  spids: [873]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [855 869]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 8>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<16>}
                                  spids: [896]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [878 892]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 9>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<'/DietPi/dietpi/dietpi-autostart'>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [922]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [901 915]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<11>}
                                  spids: [945]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [927 941]
                        )
                      ]
                      else_action: [(C {<Menu_Exit>})]
                      redirects: []
                    )
                  ]
                  spids: [609 623]
                )
              ]
              else_action: [(C {<Menu_Exit>})]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_Exit
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <' Exit DietPi-Config? '>)}
                  spids: [994]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_QUESTION='> name:WHIP_QUESTION)
                  op: assign_op.Equal
                  rhs: {(SQ <' Exit DietPi-Config? '>)}
                  spids: [1000]
                )
              ]
              redirects: []
            )
            (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
              {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<10>} {<50>}
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [1045]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                              name: TARGETMENUID
                            )
                          op: assign_op.Equal
                          rhs: {<-1>}
                          spids: [1071]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<ps>} {<aux>})
                                                      (C {<grep>} {<-ci>} {<-m1>} 
                                                        {(SQ <'/DietPi/dietpi/[d]ietpi-software'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                  spids: [1113]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [1080 1110]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName REBOOT_REQUIRED)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'Changes Made - Reboot Now?'>)}
                                  spids: [1141]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                      name: WHIP_QUESTION
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
' A reboot is required to apply your new settings.\\n Would you like to reboot now?'
                                        >
                                      )
                                    }
                                  spids: [1147]
                                )
                              ]
                              redirects: []
                            )
                            (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                              {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--defaultno>} {<--backtitle>} 
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<9>} {<65>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [1180]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [(C {<reboot>})]
                                  spids: [1184 1198]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [1125 1138]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [1054 1068]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName EXITONBACK)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                              name: TARGETMENUID
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [1235]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [1218 1232]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Display_Rotation_Calc_XY_Invert
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} {<Id.Lit_VarLike 'input='> ($ Id.VSub_Number 1)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 10>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'framebuffer_x='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <framebuffer>) <Id.Lit_VarLike '_width='>})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'framebuffer_y='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <framebuffer>) <Id.Lit_VarLike '_height='>})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName input)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: {($ Id.VSub_DollarName framebuffer_x)}
                                                  right: {($ Id.VSub_DollarName framebuffer_y)}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<local>} 
                                      {<Id.Lit_VarLike 'temp='> ($ Id.VSub_DollarName framebuffer_x)}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'framebuffer_x='>
                                              name: framebuffer_x
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName framebuffer_y)}
                                          spids: [1383]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'framebuffer_y='>
                                              name: framebuffer_y
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName temp)}
                                          spids: [1387]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/framebuffer_width=/c'> <Id.Lit_BadBackslash '\\'> 
                                          <'framebuffer_width='> ($ Id.VSub_DollarName framebuffer_x)
                                        )
                                      } {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/framebuffer_height=/c'> <Id.Lit_BadBackslash '\\'> 
                                          <'framebuffer_height='> ($ Id.VSub_DollarName framebuffer_y)
                                        )
                                      } {<'/DietPi/config.txt'>}
                                    )
                                  ]
                                  spids: [1359 1373]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [1341 1355]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName input)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Great
                                                  left: {($ Id.VSub_DollarName framebuffer_x)}
                                                  right: {($ Id.VSub_DollarName framebuffer_y)}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<local>} 
                                      {<Id.Lit_VarLike 'temp='> ($ Id.VSub_DollarName framebuffer_x)}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'framebuffer_x='>
                                              name: framebuffer_x
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName framebuffer_y)}
                                          spids: [1471]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'framebuffer_y='>
                                              name: framebuffer_y
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName temp)}
                                          spids: [1475]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/framebuffer_width=/c'> <Id.Lit_BadBackslash '\\'> 
                                          <'framebuffer_width='> ($ Id.VSub_DollarName framebuffer_x)
                                        )
                                      } {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/framebuffer_height=/c'> <Id.Lit_BadBackslash '\\'> 
                                          <'framebuffer_height='> ($ Id.VSub_DollarName framebuffer_y)
                                        )
                                      } {<'/DietPi/config.txt'>}
                                    )
                                  ]
                                  spids: [1447 1461]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [1429 1443]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [1260 1274]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_DisplayOptions
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [1536]
                )
              ]
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                (sh_array_literal left:<Id.Op_LParen _> words:[])
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 21>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [{(DQ <1>)} {(DQ <'Display Driver'>)}]
                              )
                            }
                          spids: [1567]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [1549 1563]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                          name: whiptail_menu_array
                        )
                      op: assign_op.PlusEqual
                      rhs: 
                        {
                          (sh_array_literal
                            left: <Id.Op_LParen _>
                            words: [{(DQ <1>)} {(DQ <'Change Resolution'>)}]
                          )
                        }
                      spids: [1584]
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                          name: whiptail_menu_array
                        )
                      op: assign_op.PlusEqual
                      rhs: 
                        {
                          (sh_array_literal
                            left: <Id.Op_LParen _>
                            words: [{(DQ <2>)} {(DQ <'GPU/RAM Memory Split'>)}]
                          )
                        }
                      spids: [1596]
                    )
                  ]
                  redirects: []
                )
                (C {<local>} 
                  {<Id.Lit_VarLike 'lcdpanel_text='> 
                    (command_sub
                      left_token: <Id.Left_DollarParen '$('>
                      child: 
                        (command.Pipeline
                          children: [
                            (C {<cat>} {<'/DietPi/dietpi.txt'>})
                            (C {<grep>} {<-m1>} {(SQ <'^CONFIG_LCDPANEL='>)})
                            (C {<sed>} {(SQ <'s/.*=//'>)})
                          ]
                          negated: F
                          stderr_indices: []
                        )
                      right: <Id.Eof_RParen _>
                    )
                  }
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                          name: whiptail_menu_array
                        )
                      op: assign_op.PlusEqual
                      rhs: 
                        {
                          (sh_array_literal
                            left: <Id.Op_LParen _>
                            words: [
                              {(DQ <3>)}
                              {(DQ <'LCD Panel addon: '> ($ Id.VSub_DollarName lcdpanel_text))}
                            ]
                          )
                        }
                      spids: [1637]
                    )
                  ]
                  redirects: []
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [{(DQ <14>)} {(DQ <'LED Control'>)}]
                      )
                    }
                  spids: [1655]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 10>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'overscan_enabled='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-ci>} {<-m1>} {(SQ <'disable_overscan=0'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} {<Id.Lit_VarLike 'overscan_text='> (SQ <Disabled>)})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: {($ Id.VSub_DollarName overscan_enabled)}
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'overscan_text='>
                                      name: overscan_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [1737]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [1724 1734]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'hdmi_boost_disabled='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-ci>} {<-m1>} {(SQ <'#config_hdmi_boost='>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} {<Id.Lit_VarLike 'hdmi_boost_text='> (SQ <Enabled>)})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: {($ Id.VSub_DollarName hdmi_boost_disabled)}
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'hdmi_boost_text='>
                                      name: hdmi_boost_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <Disabled>)}
                                  spids: [1790]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [1777 1787]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'rpi_camera_module_enabled='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-ci>} {<-m1>} {(SQ <'start_x=1'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} {<Id.Lit_VarLike 'rpi_camera_module_text='> (SQ <Disabled>)})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName rpi_camera_module_enabled)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'rpi_camera_module_text='>
                                      name: rpi_camera_module_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [1847]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [1830 1844]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'rpi_camera_led_enabled='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-ci>} {<-m1>} {(SQ <'disable_camera_led=0'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} {<Id.Lit_VarLike 'rpi_camera_led_text='> (SQ <Disabled>)})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName rpi_camera_led_enabled)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'rpi_camera_led_text='>
                                      name: rpi_camera_led_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [1904]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [1887 1901]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'rotation_hdmi_current='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <'^display_rotate='>)})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'rotation_lcd_current='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <'^lcd_rotate='>)})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'vc1_key_current='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <'^decode_WVC1='>)})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'mpeg2_key_current='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <'^decode_MPG2='>)})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} {<Id.Lit_VarLike 'justboom_ir_remote_text='> (SQ <Disabled>)})
                    (C {<local>} {<Id.Lit_VarLike 'justboom_ir_remote_enabled='> <0>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-f>} 
                                      {<'/etc/systemd/system/justboom-ir-mpd.service'>} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'justboom_ir_remote_text='>
                                      name: justboom_ir_remote_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [2061]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'justboom_ir_remote_enabled='>
                                      name: justboom_ir_remote_enabled
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [2067]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [2046 2057]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <4>)}
                                  {
                                    (DQ <'Rotation (HDMI)       : '> 
                                      ($ Id.VSub_DollarName rotation_hdmi_current)
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2076]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <5>)}
                                  {
                                    (DQ <'Rotation (LCD)        : '> 
                                      ($ Id.VSub_DollarName rotation_lcd_current)
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2089]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <6>)}
                                  {
                                    (DQ <'Overscan              : '> 
                                      ($ Id.VSub_DollarName overscan_text)
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2102]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: {($ Id.VSub_DollarName overscan_enabled)}
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<local>} 
                              {<Id.Lit_VarLike 'overscan_options='> 
                                (sh_array_literal
                                  left: <Id.Op_LParen _>
                                  words: [
                                    {(SQ <overscan_left>)}
                                    {(SQ <overscan_right>)}
                                    {(SQ <overscan_top>)}
                                    {(SQ <overscan_bottom>)}
                                  ]
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'overscan_left='> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<cat>} {<'/DietPi/config.txt'>})
                                        (C {<grep>} {<-m1>} {(SQ <'overscan_left='>)})
                                        (C {<sed>} {(SQ <'s/.*=//'>)})
                                      ]
                                      negated: F
                                      stderr_indices: []
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'overscan_right='> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<cat>} {<'/DietPi/config.txt'>})
                                        (C {<grep>} {<-m1>} {(SQ <'overscan_right='>)})
                                        (C {<sed>} {(SQ <'s/.*=//'>)})
                                      ]
                                      negated: F
                                      stderr_indices: []
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'overscan_top='> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<cat>} {<'/DietPi/config.txt'>})
                                        (C {<grep>} {<-m1>} {(SQ <'overscan_top='>)})
                                        (C {<sed>} {(SQ <'s/.*=//'>)})
                                      ]
                                      negated: F
                                      stderr_indices: []
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'overscan_bottom='> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<cat>} {<'/DietPi/config.txt'>})
                                        (C {<grep>} {<-m1>} {(SQ <'overscan_bottom='>)})
                                        (C {<sed>} {(SQ <'s/.*=//'>)})
                                      ]
                                      negated: F
                                      stderr_indices: []
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                              }
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(DQ <15>)}
                                          {
                                            (DQ <'Overscan Compensation : L:'> 
                                              ($ Id.VSub_DollarName overscan_left) <' R:'> ($ Id.VSub_DollarName overscan_right) <' T:'> ($ Id.VSub_DollarName overscan_top) <' B:'> 
                                              ($ Id.VSub_DollarName overscan_bottom)
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [2271]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [2115 2125]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <7>)}
                                  {
                                    (DQ <'HDMI Boost            : '> 
                                      ($ Id.VSub_DollarName hdmi_boost_text)
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2295]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <8>)}
                                  {
                                    (DQ <'RPi Camera            : '> 
                                      ($ Id.VSub_DollarName rpi_camera_module_text)
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2308]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <9>)}
                                  {
                                    (DQ <'RPI Camera led        : '> 
                                      ($ Id.VSub_DollarName rpi_camera_led_text)
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2321]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <11>)}
                                  {
                                    (DQ <'JustBoom IR remote    : '> 
                                      ($ Id.VSub_DollarName justboom_ir_remote_text)
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2334]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <12>)}
                                  {
                                    (DQ <'VC1 Key               : '> 
                                      ($ Id.VSub_DollarName vc1_key_current)
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2347]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <13>)}
                                  {
                                    (DQ <'MPEG2 Key             : '> 
                                      ($ Id.VSub_DollarName mpeg2_key_current)
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2360]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [1672 1686]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DAmp
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_GreatEqual
                                      left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                      right: {<Id.Lit_Digits 10>}
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_LessEqual
                                      left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                      right: {<Id.Lit_Digits 12>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} {<Id.Lit_VarLike 'odroid_remote_text='> (SQ <Disabled>)})
                    (C {<local>} {<Id.Lit_VarLike 'odroid_remote_enabled='> <0>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-f>} 
                                      {<'/etc/systemd/system/odroid-remote.service'>} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'odroid_remote_text='>
                                      name: odroid_remote_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [2437]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'odroid_remote_enabled='>
                                      name: odroid_remote_enabled
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [2443]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [2422 2433]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <10>)}
                                  {
                                    (DQ <'Odroid remote  : '> 
                                      ($ Id.VSub_DollarName odroid_remote_text)
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2452]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [2382 2404]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Display Options'>)}
                  spids: [2470]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {(DQ <'Please select an option:'>)}
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--default-item>}
                              {(DQ ($ Id.VSub_DollarName WHIP_SELECTION_PREVIOUS))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<18>}
                              {<70>}
                              {<10>}
                              {
                                (DQ 
                                  (braced_var_sub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name whiptail_menu_array>
                                    var_name: whiptail_menu_array
                                    bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                )
                              }
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [2476]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [2536]
                )
              ]
              redirects: []
            )
            (C {<unset>} {<whiptail_menu_array>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_SELECTION_PREVIOUS='>
                              name: WHIP_SELECTION_PREVIOUS
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName OPTION)}
                          spids: [2564]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 15>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ForExpr
                              init: 
                                (arith_expr.BinaryAssign
                                  op_id: Id.Arith_Equal
                                  left: ($ Id.Lit_ArithVarLike i)
                                  right: {<Id.Lit_Digits 0>}
                                )
                              cond: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: ($ Id.Lit_ArithVarLike i)
                                  right: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name overscan_options>
                                        var_name: overscan_options
                                        prefix_op: <Id.VSub_Pound '#'>
                                        bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                )
                              update: 
                                (arith_expr.UnaryAssign
                                  op_id: Id.Node_PostDPlus
                                  child: ($ Id.Lit_ArithVarLike i)
                                )
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                              name: WHIP_TITLE
                                            )
                                          op: assign_op.Equal
                                          rhs: {(SQ <'DietPi - Overscan Compensation'>)}
                                          spids: [2615]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'OPTION='>
                                              name: OPTION
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Simple
                                                    words: [
                                                      {<whiptail>}
                                                      {<--inputbox>}
                                                      {
                                                        (DQ 
                                                          <
'Please enter a value (pixel count) for '
                                                          > 
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: <Id.VSub_Name overscan_options>
                                                            var_name: overscan_options
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName i)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          ) <'.:'> <Id.Lit_BadBackslash '\\'> <'n - EG: 16'>
                                                        )
                                                      }
                                                      {<10>}
                                                      {<60>}
                                                      {
                                                        (DQ 
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: <Id.VSub_Name overscan_options>
                                                            var_name: overscan_options
                                                            prefix_op: <Id.VSub_Bang '!'>
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName i)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        )
                                                      }
                                                      {<--title>}
                                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                                    ]
                                                    redirects: [
                                                      (redir
                                                        op: <Id.Redir_GreatAnd '3>&'>
                                                        loc: (redir_loc.Fd fd:3)
                                                        arg: {<1>}
                                                      )
                                                      (redir
                                                        op: <Id.Redir_GreatAnd '1>&'>
                                                        loc: (redir_loc.Fd fd:1)
                                                        arg: {<2>}
                                                      )
                                                      (redir
                                                        op: <Id.Redir_GreatAnd '2>&'>
                                                        loc: (redir_loc.Fd fd:2)
                                                        arg: {<3>}
                                                      )
                                                    ]
                                                    more_env: []
                                                    do_fork: T
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          spids: [2621]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [2671]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<sed>} {<-i>} 
                                              {
                                                (DQ <'/'> 
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name overscan_options>
                                                    var_name: overscan_options
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  ) <'=/c '> 
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name overscan_options>
                                                    var_name: overscan_options
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  ) <'='> ($ Id.VSub_DollarName OPTION)
                                                )
                                              } {<'/DietPi/config.txt'>}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                      name: REBOOT_REQUIRED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [2719]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [2675 2689]
                                        )
                                      ]
                                      else_action: [
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Break break>
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                )
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [2740]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [2569 2583]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<2>}
                                  spids: [2763]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [2745 2759]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DPipe
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DPipe
                                                      left: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DPipe
                                                          left: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_Less
                                                              left: 
                                                                {($ Id.VSub_DollarName G_HW_MODEL)}
                                                              right: {<Id.Lit_Digits 10>}
                                                            )
                                                          right: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_DEqual
                                                              left: 
                                                                {($ Id.VSub_DollarName G_HW_MODEL)}
                                                              right: {<Id.Lit_Digits 10>}
                                                            )
                                                        )
                                                      right: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                          right: {<Id.Lit_Digits 11>}
                                                        )
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                      right: {<Id.Lit_Digits 12>}
                                                    )
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<local>} 
                                      {<Id.Lit_VarLike 'whiptail_menu_array='> 
                                        (sh_array_literal
                                          left: <Id.Op_LParen _>
                                          words: []
                                        )
                                      }
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [{(DQ <none>)} {(DQ <'Uninstall all panels'>)}]
                                              )
                                            }
                                          spids: [2839]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <waveshare32>)}
                                                  {(DQ <'320x240 panel with touch input'>)}
                                                ]
                                              )
                                            }
                                          spids: [2851]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                          right: {<Id.Lit_Digits 11>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                                      name: whiptail_menu_array
                                                    )
                                                  op: assign_op.PlusEqual
                                                  rhs: 
                                                    {
                                                      (sh_array_literal
                                                        left: <Id.Op_LParen _>
                                                        words: [
                                                          {(DQ <odroid-cloudshell>)}
                                                          {(DQ <'320x240 panel'>)}
                                                        ]
                                                      )
                                                    }
                                                  spids: [2882]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [2864 2878]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DAmp
                                                          left: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_GreatEqual
                                                              left: 
                                                                {($ Id.VSub_DollarName G_HW_MODEL)}
                                                              right: {<Id.Lit_Digits 10>}
                                                            )
                                                          right: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_Less
                                                              left: 
                                                                {($ Id.VSub_DollarName G_HW_MODEL)}
                                                              right: {<Id.Lit_Digits 20>}
                                                            )
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                                      name: whiptail_menu_array
                                                    )
                                                  op: assign_op.PlusEqual
                                                  rhs: 
                                                    {
                                                      (sh_array_literal
                                                        left: <Id.Op_LParen _>
                                                        words: [
                                                          {(DQ <odroid-lcd35>)}
                                                          {(DQ <'480x320 panel with touch input'>)}
                                                        ]
                                                      )
                                                    }
                                                  spids: [2925]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [2899 2921]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                              name: WHIP_TITLE
                                            )
                                          op: assign_op.Equal
                                          rhs: {(SQ <'DietPi - LCD Panel'>)}
                                          spids: [2942]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'OPTION='>
                                              name: OPTION
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Simple
                                                    words: [
                                                      {<whiptail>}
                                                      {<--title>}
                                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                                      {<--menu>}
                                                      {(DQ <'Please select an option:'>)}
                                                      {<--default-item>}
                                                      {(DQ ($ Id.VSub_DollarName lcdpanel_text))}
                                                      {<--cancel-button>}
                                                      {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                                      {<14>}
                                                      {<60>}
                                                      {<5>}
                                                      {
                                                        (DQ 
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: <Id.VSub_Name whiptail_menu_array>
                                                            var_name: whiptail_menu_array
                                                            bracket_op: 
                                                              (bracket_op.WholeArray
                                                                op_id: Id.Lit_At
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        )
                                                      }
                                                    ]
                                                    redirects: [
                                                      (redir
                                                        op: <Id.Redir_GreatAnd '3>&'>
                                                        loc: (redir_loc.Fd fd:3)
                                                        arg: {<1>}
                                                      )
                                                      (redir
                                                        op: <Id.Redir_GreatAnd '1>&'>
                                                        loc: (redir_loc.Fd fd:1)
                                                        arg: {<2>}
                                                      )
                                                      (redir
                                                        op: <Id.Redir_GreatAnd '2>&'>
                                                        loc: (redir_loc.Fd fd:2)
                                                        arg: {<3>}
                                                      )
                                                    ]
                                                    more_env: []
                                                    do_fork: T
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          spids: [2948]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [3003]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} 
                                              {<lcdpanel>} {(DQ ($ Id.VSub_DollarName OPTION))}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                      name: REBOOT_REQUIRED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [3034]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [3007 3021]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                    (C {<unset>} {<whiptail_menu_array>})
                                  ]
                                  spids: [2786 2827]
                                )
                              ]
                              else_action: [(C {<Info_HW_OptionNotSupported>})]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [3065]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [2768 2782]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DPipe
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DPipe
                                                      left: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_Less
                                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                          right: {<Id.Lit_Digits 10>}
                                                        )
                                                      right: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                          right: {<Id.Lit_Digits 10>}
                                                        )
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                      right: {<Id.Lit_Digits 12>}
                                                    )
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                              name: WHIP_QUESTION
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SQ 
                                                <
'GPU/RAM Memory splits are pre-configured and applied during DietPi-Software setup. \\n \\nThe split value is optimized based on your software installs, however, feel free to tweak them.'
                                                >
                                              )
                                            }
                                          spids: [3122]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                      {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} 
                                      {<12>} {<60>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                                              name: TARGETMENUID
                                            )
                                          op: assign_op.Equal
                                          rhs: {<6>}
                                          spids: [3153]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [3088 3118]
                                )
                              ]
                              else_action: [
                                (C {<Info_HW_OptionNotSupported>})
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'TARGETMENUID='>
                                          name: TARGETMENUID
                                        )
                                      op: assign_op.Equal
                                      rhs: {<1>}
                                      spids: [3170]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [3070 3084]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 6>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 10>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: {($ Id.VSub_DollarName overscan_enabled)}
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<sed>} {<-i>} 
                                              {(SQ <'/disable_overscan=/c\\disable_overscan=1'>)} {<'/DietPi/config.txt'>}
                                            )
                                            (command.ForExpr
                                              init: 
                                                (arith_expr.BinaryAssign
                                                  op_id: Id.Arith_Equal
                                                  left: ($ Id.Lit_ArithVarLike i)
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              cond: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: ($ Id.Lit_ArithVarLike i)
                                                  right: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name overscan_options>
                                                        var_name: overscan_options
                                                        prefix_op: <Id.VSub_Pound '#'>
                                                        bracket_op: 
                                                          (bracket_op.WholeArray
                                                            op_id: Id.Lit_At
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                )
                                              update: 
                                                (arith_expr.UnaryAssign
                                                  op_id: Id.Node_PostDPlus
                                                  child: ($ Id.Lit_ArithVarLike i)
                                                )
                                              body: 
                                                (command.DoGroup
                                                  children: [
                                                    (C {<sed>} {<-i>} 
                                                      {
                                                        (DQ <'/'> 
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: <Id.VSub_Name overscan_options>
                                                            var_name: overscan_options
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName i)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          ) <'=/c '> 
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: <Id.VSub_Name overscan_options>
                                                            var_name: overscan_options
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName i)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          ) <'=0'>
                                                        )
                                                      } {<'/DietPi/config.txt'>}
                                                    )
                                                  ]
                                                )
                                              redirects: []
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                      name: REBOOT_REQUIRED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [3303]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [3219 3229]
                                        )
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Unary
                                                          op_id: Id.Arith_Bang
                                                          child: 
                                                            {($ Id.VSub_DollarName overscan_enabled)}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<sed>} {<-i>} 
                                              {(SQ <'/disable_overscan=/c\\disable_overscan=0'>)} {<'/DietPi/config.txt'>}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                      name: REBOOT_REQUIRED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [3335]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [3308 3320]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [3201 3215]
                                )
                              ]
                              else_action: [(C {<Info_HW_OptionNotSupported>})]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [3360]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [3179 3193]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 7>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 10>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<Id.Lit_LBracket '['>} 
                                                      {
                                                        (DQ 
                                                          ($ Id.VSub_DollarName hdmi_boost_disabled)
                                                        )
                                                      } {<Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                                      name: WHIP_QUESTION
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ <' Current setting: '> 
                                                        ($ Id.VSub_DollarName hdmi_boost_text) <' '> <Id.Lit_BadBackslash '\\'> <'n Would you like to disable HDMI Signal Boost?'>
                                                      )
                                                    }
                                                  spids: [3428]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (C {<whiptail>} {<--title>} 
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} 
                                              {(DQ <Back>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<12>} {<60>}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'CHOICE='>
                                                      name: CHOICE
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {($ Id.VSub_QMark '?')}
                                                  spids: [3477]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_DEqual
                                                                  left: 
                                                                    {($ Id.VSub_DollarName CHOICE)}
                                                                  right: {<Id.Lit_Digits 0>}
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (C {<sed>} {<-i>} 
                                                      {
                                                        (SQ 
                                                          <
'/config_hdmi_boost=/c\\#config_hdmi_boost=4'
                                                          >
                                                        )
                                                      } {<'/DietPi/config.txt'>}
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: 
                                                                <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                              name: REBOOT_REQUIRED
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {<1>}
                                                          spids: [3510]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [3481 3495]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                          spids: [3409 3424]
                                        )
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<Id.Lit_LBracket '['>} 
                                                      {
                                                        (DQ 
                                                          ($ Id.VSub_DollarName hdmi_boost_disabled)
                                                        )
                                                      } {<Id.Lit_Equals '='>} {<1>} {<Id.Lit_RBracket ']'>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                                      name: WHIP_QUESTION
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ <' Current setting: '> 
                                                        ($ Id.VSub_DollarName hdmi_boost_text) <' '> <Id.Lit_BadBackslash '\\'> <'n Would you like to enable HDMI Signal Boost? '> 
                                                        <Id.Lit_BadBackslash '\\'> <'n '> <Id.Lit_BadBackslash '\\'> 
                                                        <
'n If you have no display output, or, blinking, selecting Enable may resolve it '
                                                        >
                                                      )
                                                    }
                                                  spids: [3542]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (C {<whiptail>} {<--title>} 
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} 
                                              {(DQ <Back>)} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<12>} {<60>}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'CHOICE='>
                                                      name: CHOICE
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {($ Id.VSub_QMark '?')}
                                                  spids: [3595]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_DEqual
                                                                  left: 
                                                                    {($ Id.VSub_DollarName CHOICE)}
                                                                  right: {<Id.Lit_Digits 0>}
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (C {<sed>} {<-i>} 
                                                      {
                                                        (SQ 
                                                          <
'/config_hdmi_boost=/c\\config_hdmi_boost=4'
                                                          >
                                                        )
                                                      } {<'/DietPi/config.txt'>}
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: 
                                                                <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                              name: REBOOT_REQUIRED
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {<1>}
                                                          spids: [3628]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [3599 3613]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                          spids: [3523 3538]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [3387 3401]
                                )
                              ]
                              else_action: [(C {<Info_HW_OptionNotSupported>})]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [3657]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [3365 3379]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 8>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 10>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Unary
                                                          op_id: Id.Arith_Bang
                                                          child: 
                                                            {
                                                              ($ Id.VSub_DollarName 
rpi_camera_module_enabled
                                                              )
                                                            }
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} 
                                              {<rpi-camera>} {<enable>}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                      name: REBOOT_REQUIRED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [3725]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [3702 3714]
                                        )
                                      ]
                                      else_action: [
                                        (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<rpi-camera>} 
                                          {<disable>}
                                        )
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                  name: REBOOT_REQUIRED
                                                )
                                              op: assign_op.Equal
                                              rhs: {<1>}
                                              spids: [3741]
                                            )
                                          ]
                                          redirects: []
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [3684 3698]
                                )
                              ]
                              else_action: [(C {<Info_HW_OptionNotSupported>})]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [3766]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [3662 3676]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 9>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 10>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Unary
                                                          op_id: Id.Arith_Bang
                                                          child: 
                                                            {
                                                              ($ Id.VSub_DollarName 
rpi_camera_led_enabled
                                                              )
                                                            }
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<sed>} {<-i>} 
                                              {(SQ <'/disable_camera_led=/c\\disable_camera_led=0'>)} {<'/DietPi/config.txt'>}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                      name: REBOOT_REQUIRED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [3842]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [3811 3823]
                                        )
                                      ]
                                      else_action: [
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/disable_camera_led=/c\\disable_camera_led=1'>)} {<'/DietPi/config.txt'>}
                                        )
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                  name: REBOOT_REQUIRED
                                                )
                                              op: assign_op.Equal
                                              rhs: {<1>}
                                              spids: [3866]
                                            )
                                          ]
                                          redirects: []
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [3793 3807]
                                )
                              ]
                              else_action: [(C {<Info_HW_OptionNotSupported>})]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [3891]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [3771 3785]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: 
                                                    {($ Id.VSub_DollarName odroid_remote_enabled)}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<whiptail>} {<--title>} {(DQ <'Odroid Remote'>)} {<--yesno>} 
                                      {
                                        (DQ 
                                          <
'This will enable the IR modules, setup Lirc and the Odroid Remote for Odroid C1, C2 and XU4 Cloudshell.'
                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                          <
'nNB: Other remotes can be configured by running \'irrecord\' and applying the codes to \'/etc/lirc/lircd.conf\''
                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nDo you wish to continue?'>
                                        )
                                      } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<70>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [3981]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} 
                                              {<remoteir>} {<odroid_remote>}
                                            )
                                          ]
                                          spids: [3985 3999]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [3918 3930]
                                )
                              ]
                              else_action: [
                                (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<remoteir>} {<none>})
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [4031]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [4040]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [3896 3910]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 11>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: 
                                                    {
                                                      ($ Id.VSub_DollarName 
justboom_ir_remote_enabled
                                                      )
                                                    }
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<whiptail>} {<--title>} {(DQ <'JustBoom IR Remote'>)} {<--yesno>} 
                                      {
                                        (DQ <'Got a JustBoom IR Remote? Excellent!'> 
                                          <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                          <
'nDietPi will enable the IR modules, setup Lirc and enable support for MPD controls by default:'
                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nDo you wish to continue?'>
                                        )
                                      } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<70>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [4130]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} 
                                              {<remoteir>} {<justboom_ir_remote>}
                                            )
                                          ]
                                          spids: [4134 4148]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [4067 4079]
                                )
                              ]
                              else_action: [
                                (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<remoteir>} {<none>})
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [4180]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [4189]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [4045 4059]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 12>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'DietPi - VC1 Key'>)}
                                  spids: [4212]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ <'Please enter your key for VC1:'> 
                                                  <Id.Lit_BadBackslash '\\'> <'n - EG: 0x00000000'>
                                                )
                                              }
                                              {<12>}
                                              {<60>}
                                              {(DQ ($ Id.VSub_DollarName vc1_key_current))}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [4218]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [4255]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Unary
                                                          op_id: Id.Arith_Bang
                                                          child: 
                                                            {
                                                              (command_sub
                                                                left_token: 
                                                                  <Id.Left_DollarParen '$('>
                                                                child: 
                                                                  (command.Pipeline
                                                                    children: [
                                                                      (C {<cat>} 
                                                                        {<'/DietPi/config.txt'>}
                                                                      )
                                                                      (C {<grep>} {<-ci>} {<-m1>} 
                                                                        {(SQ <'decode_WVC1='>)}
                                                                      )
                                                                    ]
                                                                    negated: F
                                                                    stderr_indices: []
                                                                  )
                                                                right: <Id.Eof_RParen _>
                                                              )
                                                            }
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.Simple
                                              words: [
                                                {<echo>}
                                                {<-e>}
                                                {
                                                  (DQ <Id.Lit_BadBackslash '\\'> 
                                                    <'ndecode_WVC1=0x00000000'>
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_DGreat '>>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<'/DietPi/config.txt'>}
                                                )
                                              ]
                                              more_env: []
                                              do_fork: T
                                            )
                                          ]
                                          spids: [4277 4305]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/decode_WVC1=/c'> <Id.Lit_BadBackslash '\\'> 
                                          <'decode_WVC1='> ($ Id.VSub_DollarName OPTION)
                                        )
                                      } {<'/DietPi/config.txt'>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                              name: REBOOT_REQUIRED
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [4342]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [4259 4273]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [4355]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [4194 4208]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 13>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'DietPi - MPEG2 Key'>)}
                                  spids: [4378]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ <'Please enter your key for MPEG2:'> 
                                                  <Id.Lit_BadBackslash '\\'> <'n - EG: 0x00000000'>
                                                )
                                              }
                                              {<12>}
                                              {<60>}
                                              {(DQ ($ Id.VSub_DollarName mpeg2_key_current))}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [4384]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [4421]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Unary
                                                          op_id: Id.Arith_Bang
                                                          child: 
                                                            {
                                                              (command_sub
                                                                left_token: 
                                                                  <Id.Left_DollarParen '$('>
                                                                child: 
                                                                  (command.Pipeline
                                                                    children: [
                                                                      (C {<cat>} 
                                                                        {<'/DietPi/config.txt'>}
                                                                      )
                                                                      (C {<grep>} {<-ci>} {<-m1>} 
                                                                        {(SQ <'decode_MPG2='>)}
                                                                      )
                                                                    ]
                                                                    negated: F
                                                                    stderr_indices: []
                                                                  )
                                                                right: <Id.Eof_RParen _>
                                                              )
                                                            }
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.Simple
                                              words: [
                                                {<echo>}
                                                {<-e>}
                                                {
                                                  (DQ <Id.Lit_BadBackslash '\\'> 
                                                    <'ndecode_MPG2=0x00000000'>
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_DGreat '>>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<'/DietPi/config.txt'>}
                                                )
                                              ]
                                              more_env: []
                                              do_fork: T
                                            )
                                          ]
                                          spids: [4443 4471]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/decode_MPG2=/c'> <Id.Lit_BadBackslash '\\'> 
                                          <'decode_MPG2='> ($ Id.VSub_DollarName OPTION)
                                        )
                                      } {<'/DietPi/config.txt'>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                              name: REBOOT_REQUIRED
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [4508]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [4425 4439]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [4517]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [4526]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [4360 4374]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<local>} 
                              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                                (sh_array_literal
                                  left: <Id.Op_LParen _>
                                  words: []
                                )
                              }
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(DQ <0>)} {(DQ <'Disabled (default)'>)}]
                                      )
                                    }
                                  spids: [4557]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(DQ <1>)} {(DQ <'90 degrees'>)}]
                                      )
                                    }
                                  spids: [4569]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(DQ <2>)} {(DQ <'180 degrees'>)}]
                                      )
                                    }
                                  spids: [4581]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(DQ <3>)} {(DQ <'270 degrees'>)}]
                                      )
                                    }
                                  spids: [4593]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(DQ <0x10000>)} {(DQ <'Horizontal flip'>)}]
                                      )
                                    }
                                  spids: [4605]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(DQ <0x20000>)} {(DQ <'Vertical flip'>)}]
                                      )
                                    }
                                  spids: [4617]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'DietPi - Display Rotation (HDMI)'>)}
                                  spids: [4630]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                              {<--menu>}
                                              {
                                                (DQ <'Please select an option:'> 
                                                  <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                                  <
'nNB: If you have the RPi touchscreen, please set this to 0 and use LCD rotation option.'
                                                  >
                                                )
                                              }
                                              {<--default-item>}
                                              {(DQ ($ Id.VSub_DollarName rotation_hdmi_current))}
                                              {<--cancel-button>}
                                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                              {<18>}
                                              {<60>}
                                              {<6>}
                                              {
                                                (DQ 
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name whiptail_menu_array>
                                                    var_name: whiptail_menu_array
                                                    bracket_op: 
                                                      (bracket_op.WholeArray
                                                        op_id: Id.Lit_At
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                )
                                              }
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [4636]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [4695]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/display_rotate=/c'> <Id.Lit_BadBackslash '\\'> 
                                          <'display_rotate='> ($ Id.VSub_DollarName OPTION)
                                        )
                                      } {<'/DietPi/config.txt'>}
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.AndOr
                                                      ops: [Id.Op_DPipe]
                                                      children: [
                                                        (C {<Id.Lit_LBracket '['>} 
                                                          {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <1>)} {<Id.Lit_RBracket ']'>}
                                                        )
                                                        (C {<Id.Lit_LBracket '['>} 
                                                          {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <3>)} {<Id.Lit_RBracket ']'>}
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [(C {<Display_Rotation_Calc_XY_Invert>} {<1>})]
                                          spids: [4736 4769]
                                        )
                                      ]
                                      else_action: [(C {<Display_Rotation_Calc_XY_Invert>} {<0>})]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                              name: REBOOT_REQUIRED
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [4798]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [4699 4713]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<unset>} {<whiptail_menu_array>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [4813]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [4822]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [4531 4545]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 5>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<local>} 
                              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                                (sh_array_literal
                                  left: <Id.Op_LParen _>
                                  words: []
                                )
                              }
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(DQ <0>)} {(DQ <'Disabled (default)'>)}]
                                      )
                                    }
                                  spids: [4853]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(DQ <2>)} {(DQ <'180 degrees'>)}]
                                      )
                                    }
                                  spids: [4865]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'DietPi - Display Rotation (LCD)'>)}
                                  spids: [4878]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                              {<--menu>}
                                              {
                                                (DQ <'Please select an option:'> 
                                                  <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nNB: This option is for RPi touchscreen.'>
                                                )
                                              }
                                              {<--default-item>}
                                              {(DQ ($ Id.VSub_DollarName rotation_lcd_current))}
                                              {<--cancel-button>}
                                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                              {<14>}
                                              {<60>}
                                              {<2>}
                                              {
                                                (DQ 
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name whiptail_menu_array>
                                                    var_name: whiptail_menu_array
                                                    bracket_op: 
                                                      (bracket_op.WholeArray
                                                        op_id: Id.Lit_At
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                )
                                              }
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [4884]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [4943]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/lcd_rotate=/c'> <Id.Lit_BadBackslash '\\'> 
                                          <'lcd_rotate='> ($ Id.VSub_DollarName OPTION)
                                        )
                                      } {<'/DietPi/config.txt'>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                              name: REBOOT_REQUIRED
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [4980]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [4947 4961]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<unset>} {<whiptail_menu_array>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [4995]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [5004]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [4827 4841]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 14>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<'/DietPi/dietpi/func/dietpi-led_control'>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [5030]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [5009 5023]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [2546 2560]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<unset>} {<overscan_options>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_DisplayOptions_Driver_Resolution
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5068]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 21>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'whiptail_menu_array='> 
                        (sh_array_literal left:<Id.Op_LParen _> words:[])
                      }
                    )
                    (C {<local>} {<Id.Lit_VarLike 'nvidia_installed='> <0>})
                    (C {<local>} {<Id.Lit_VarLike 'nvidia_text='> (SQ <'Install GPU driver'>)})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {<dpkg>} {<--get-selections>})
                                                  (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^nvidia-driver'>)})
                                                ]
                                                negated: F
                                                stderr_indices: []
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'nvidia_installed='>
                                      name: nvidia_installed
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [5147]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'nvidia_text='>
                                      name: nvidia_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'Uninstall GPU driver'>)}
                                  spids: [5151]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [5117 5143]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(SQ <Nvidia>)}
                                  {(DQ <' : '> ($ Id.VSub_DollarName nvidia_text))}
                                ]
                              )
                            }
                          spids: [5162]
                        )
                      ]
                      redirects: []
                    )
                    (C {<local>} {<Id.Lit_VarLike 'radeon_installed='> <0>})
                    (C {<local>} {<Id.Lit_VarLike 'intel_installed='> <0>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'DietPi - Display Driver'>)}
                          spids: [5212]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--title>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                      {<--menu>}
                                      {(DQ <'Please select an option:'>)}
                                      {<--cancel-button>}
                                      {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                      {<--default-item>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_SELECTION_PREVIOUS))}
                                      {<--backtitle>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                      {<14>}
                                      {<70>}
                                      {<4>}
                                      {
                                        (DQ 
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name whiptail_menu_array>
                                            var_name: whiptail_menu_array
                                            bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [5218]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [5278]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<2>}
                                  spids: [5300]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(SQ <Nvidia>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Unary
                                                          op_id: Id.Arith_Bang
                                                          child: 
                                                            {($ Id.VSub_DollarName nvidia_installed)}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<'/DietPi/dietpi/dietpi-software'>} {<install>} {<151>})
                                          ]
                                          spids: [5326 5338]
                                        )
                                      ]
                                      else_action: [
                                        (C {<'/DietPi/dietpi/dietpi-software'>} {<uninstall>} {<151>})
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                              name: REBOOT_REQUIRED
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [5366]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [5305 5322]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(SQ <'Xorg Configuration'>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<whiptail>} {<--title>} {(DQ <'Info: Xorg Configuration'>)} 
                                      {<--msgbox>} 
                                      {
                                        (DQ 
                                          <
'NB: This feature will only work if no X server is currently running.'
                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nPlease ensure:'> <Id.Lit_BadBackslash '\\'> 
                                          <'n - No current X server (desktop) is running'> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                          <
'nIf a desktop is running, please set \'dietpi-autostart\' to \'Console\', reboot system, then rerun this option.'
                                          >
                                        )
                                      } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<16>} {<65>}
                                    )
                                    (C {<X>} {<-configure>})
                                  ]
                                  spids: [5371 5388]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [5282 5296]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [5077 5091]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 10>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'framebuffer_x='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <framebuffer>) <Id.Lit_VarLike '_width='>})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'framebuffer_y='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <framebuffer>) <Id.Lit_VarLike '_height='>})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'display_output_text='> 
                        (DQ ($ Id.VSub_DollarName framebuffer_x) <' X '> 
                          ($ Id.VSub_DollarName framebuffer_y)
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {<cat>} {<'/DietPi/config.txt'>})
                                                  (C {<grep>} {<-ci>} {<-m1>} 
                                                    {(SQ <'^dtoverlay=vc4-kms-v3d'>)}
                                                  )
                                                ]
                                                negated: F
                                                stderr_indices: []
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'display_output_text='>
                                      name: display_output_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'OpenGL 1080p'>)}
                                  spids: [5570]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [5540 5566]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<cat>} {<'/DietPi/dietpi.txt'>})
                                                      (C {<grep>} {<-ci>} {<-m1>} 
                                                        {(SQ <'CONFIG_HDMI_OUTPUT=0'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'display_output_text='>
                                      name: display_output_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <Headless>)}
                                  spids: [5617]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [5585 5613]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'DietPi - Resolution'>)}
                          spids: [5628]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--title>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                      {<--menu>}
                                      {
                                        (DQ <' Hardware : '> 
                                          ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <' '> <Id.Lit_BadBackslash '\\'> <'n Current: '> ($ Id.VSub_DollarName display_output_text)
                                        )
                                      }
                                      {<--cancel-button>}
                                      {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                      {<19>}
                                      {<60>}
                                      {<9>}
                                      {(SQ <OpenGL>)}
                                      {(SQ <'1920 x 1080'>)}
                                      {(SQ <1080p>)}
                                      {(SQ <'1920 x 1080'>)}
                                      {(SQ <720p>)}
                                      {(SQ <'1280 x 720'>)}
                                      {(SQ <480p>)}
                                      {(SQ <'854 x 480'>)}
                                      {(SQ <'RPi Touchscreen'>)}
                                      {(SQ <'800 x 480'>)}
                                      {(SQ <PC1>)}
                                      {(SQ <'1024 x 768'>)}
                                      {(SQ <PC2>)}
                                      {(SQ <'800 x 640'>)}
                                      {(SQ <PC3>)}
                                      {(SQ <'640 x 480'>)}
                                      {(SQ <DietPi-Cloudshell>)}
                                      {(SQ <'320 x 240'>)}
                                      {(SQ <'sdtv_mode=0'>)}
                                      {(SQ <'Composite NTSC'>)}
                                      {(SQ <'sdtv_mode=1'>)}
                                      {(SQ <'Composite Japanese NTSC'>)}
                                      {(SQ <'sdtv_mode=2'>)}
                                      {(SQ <'Composite PAL'>)}
                                      {(SQ <'sdtv_mode=3'>)}
                                      {(SQ <'Composite Brazilian PAL'>)}
                                      {(SQ <Headless>)}
                                      {(SQ <'Disables HDMI & Composite Output'>)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [5634]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [5819]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [5841]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<2>}
                                  spids: [5850]
                                )
                              ]
                              redirects: []
                            )
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/CONFIG_HDMI_OUTPUT=/c'> <Id.Lit_BadBackslash '\\'> 
                                  <'CONFIG_HDMI_OUTPUT=1'>
                                )
                              } {<'/DietPi/dietpi.txt'>}
                            )
                            (C {<sed>} {<-i>} {(SQ <'/sdtv_mode=/c\\#sdtv_mode=0'>)} 
                              {<'/DietPi/config.txt'>}
                            )
                            (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<rpi-opengl>} {<disable>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <OpenGL>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<rpi-opengl>} 
                                      {<enable>}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {(SQ <'/framebuffer_width=/c\\framebuffer_width=1920'>)} {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {(SQ <'/framebuffer_height=/c\\framebuffer_height=1080'>)} {<'/DietPi/config.txt'>}
                                    )
                                  ]
                                  spids: [5901 5918]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DBracket
                                              expr: 
                                                (bool_expr.Binary
                                                  op_id: Id.BoolBinary_GlobEqual
                                                  left: {(DQ ($ Id.VSub_DollarName OPTION))}
                                                  right: {(DQ <sdtv_mode>) <Id.Lit_Other '*'>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<echo>} {($ Id.VSub_DollarName OPTION)})
                                    (C {<sed>} {<-i>} 
                                      {(DQ <'/sdtv_mode=/c '> ($ Id.VSub_DollarName OPTION))} {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {(SQ <'/framebuffer_width=/c\\framebuffer_width=720'>)} {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {(SQ <'/framebuffer_height=/c\\framebuffer_height=576'>)} {<'/DietPi/config.txt'>}
                                    )
                                  ]
                                  spids: [5957 5975]
                                )
                              ]
                              else_action: [
                                (command.Case
                                  to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(DQ <DietPi-Cloudshell>)}]
                                      action: [
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=320'>)} {<'/DietPi/config.txt'>}
                                        )
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=240'>)} {<'/DietPi/config.txt'>}
                                        )
                                      ]
                                      spids: [6033 6036 6061 -1]
                                    )
                                    (case_arm
                                      pat_list: [{<1080p>}]
                                      action: [
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=1920'>)} {<'/DietPi/config.txt'>}
                                        )
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=1080'>)} {<'/DietPi/config.txt'>}
                                        )
                                      ]
                                      spids: [6064 6065 6090 -1]
                                    )
                                    (case_arm
                                      pat_list: [{<720p>}]
                                      action: [
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=1280'>)} {<'/DietPi/config.txt'>}
                                        )
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=720'>)} {<'/DietPi/config.txt'>}
                                        )
                                      ]
                                      spids: [6093 6094 6119 -1]
                                    )
                                    (case_arm
                                      pat_list: [{<480p>}]
                                      action: [
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=854'>)} {<'/DietPi/config.txt'>}
                                        )
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=480'>)} {<'/DietPi/config.txt'>}
                                        )
                                      ]
                                      spids: [6122 6123 6148 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(DQ <'RPi Touchscreen'>)}]
                                      action: [
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=800'>)} {<'/DietPi/config.txt'>}
                                        )
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=480'>)} {<'/DietPi/config.txt'>}
                                        )
                                      ]
                                      spids: [6151 6154 6179 -1]
                                    )
                                    (case_arm
                                      pat_list: [{<PC1>}]
                                      action: [
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=1024'>)} {<'/DietPi/config.txt'>}
                                        )
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=768'>)} {<'/DietPi/config.txt'>}
                                        )
                                      ]
                                      spids: [6182 6183 6208 -1]
                                    )
                                    (case_arm
                                      pat_list: [{<PC2>}]
                                      action: [
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=800'>)} {<'/DietPi/config.txt'>}
                                        )
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=640'>)} {<'/DietPi/config.txt'>}
                                        )
                                      ]
                                      spids: [6211 6212 6237 -1]
                                    )
                                    (case_arm
                                      pat_list: [{<PC3>}]
                                      action: [
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_width=/c\\framebuffer_width=640'>)} {<'/DietPi/config.txt'>}
                                        )
                                        (C {<sed>} {<-i>} 
                                          {(SQ <'/framebuffer_height=/c\\framebuffer_height=480'>)} {<'/DietPi/config.txt'>}
                                        )
                                      ]
                                      spids: [6240 6241 6266 -1]
                                    )
                                    (case_arm
                                      pat_list: [{<Headless>}]
                                      action: [
                                        (C {<whiptail>} {<--title>} 
                                          {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} 
                                          {
                                            (DQ <' Using the Headless option will: '> 
                                              <Id.Lit_BadBackslash '\\'> <'n - Disable HDMI output '> <Id.Lit_BadBackslash '\\'> <'n - Lower energy consumption by 0.1+ Watts '> 
                                              <Id.Lit_BadBackslash '\\'> <'n - Set framebuffer to 16x16xD8 '> <Id.Lit_BadBackslash '\\'> 
                                              <
'n - Improve RAM performance by 1-5% (VideoCore shares RAM bandwidth) '
                                              > <Id.Lit_BadBackslash '\\'> 
                                              <
'n - More info here : https://www.raspberrypi.org/forums/viewtopic.php?p=105008#p105008'
                                              >
                                            )
                                          } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<75>}
                                        )
                                        (C {<sed>} {<-i>} 
                                          {
                                            (DQ <'/CONFIG_HDMI_OUTPUT=/c'> <Id.Lit_BadBackslash '\\'> 
                                              <'CONFIG_HDMI_OUTPUT=0'>
                                            )
                                          } {<'/DietPi/dietpi.txt'>}
                                        )
                                      ]
                                      spids: [6269 6270 6321 -1]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [5823 5837]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [5445 5459]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 10>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'current_resolution='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/boot.ini'>})
                                (C {<grep>} {<-m1>} {(SQ <'setenv m "'>)})
                                (C {<awk>} {<-F>} {(SQ <'"'>)} {(SQ <'{print $2}'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'DietPi - Resolution'>)}
                          spids: [6398]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--title>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                      {<--menu>}
                                      {
                                        (DQ <' Hardware : '> 
                                          ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <' '> <Id.Lit_BadBackslash '\\'> <'n Current: '> ($ Id.VSub_DollarName current_resolution)
                                        )
                                      }
                                      {<--cancel-button>}
                                      {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                      {<16>}
                                      {<60>}
                                      {<6>}
                                      {(DQ <1080p>)}
                                      {(DQ <'1920 x 1080'>)}
                                      {(DQ <720p>)}
                                      {(DQ <'1280 x 720'>)}
                                      {(DQ <480p>)}
                                      {(DQ <'720 x 480'>)}
                                      {(DQ <'VU7+'>)}
                                      {(DQ <'1024 x 600'>)}
                                      {(DQ <PC1>)}
                                      {(DQ <'1024 x 768'>)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [6404]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [6499]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [6521]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<2>}
                                  spids: [6530]
                                )
                              ]
                              redirects: []
                            )
                            (C {<sed>} {<-i>} {(SQ <'/setenv vout_mode /c\\setenv vout_mode "hdmi"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                            (command.Case
                              to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                              arms: [
                                (case_arm
                                  pat_list: [{<1080p>}]
                                  action: [
                                    (C {<sed>} {<-i>} {(SQ <'/setenv m /c\\setenv m "1080p"'>)} 
                                      {<'/DietPi/boot.ini'>}
                                    )
                                  ]
                                  spids: [6561 6562 6576 -1]
                                )
                                (case_arm
                                  pat_list: [{<720p>}]
                                  action: [
                                    (C {<sed>} {<-i>} {(SQ <'/setenv m /c\\setenv m "720p"'>)} 
                                      {<'/DietPi/boot.ini'>}
                                    )
                                  ]
                                  spids: [6579 6580 6594 -1]
                                )
                                (case_arm
                                  pat_list: [{<480p>}]
                                  action: [
                                    (C {<sed>} {<-i>} {(SQ <'/setenv m /c\\setenv m "480p"'>)} 
                                      {<'/DietPi/boot.ini'>}
                                    )
                                  ]
                                  spids: [6597 6598 6612 -1]
                                )
                                (case_arm
                                  pat_list: [{<PC1>}]
                                  action: [
                                    (C {<sed>} {<-i>} {(SQ <'/setenv m /c\\setenv m "1024x768"'>)} 
                                      {<'/DietPi/boot.ini'>}
                                    )
                                  ]
                                  spids: [6615 6616 6630 -1]
                                )
                                (case_arm
                                  pat_list: [{(DQ <'VU7+'>)}]
                                  action: [
                                    (C {<sed>} {<-i>} {(SQ <'/setenv m /c\\setenv m "1024x600"'>)} 
                                      {<'/DietPi/boot.ini'>}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {(SQ <'/setenv vout_mode /c\\setenv vout_mode "dvi"'>)} {<'/DietPi/boot.ini'>}
                                    )
                                  ]
                                  spids: [6633 6636 6661 -1]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [6503 6517]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [6341 6355]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 11>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} {<Id.Lit_VarLike 'current_resolution='> (DQ )})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<cat>} {<'/DietPi/boot.ini'>})
                                                      (C {<grep>} {<-m1>} {(SQ <'setenv videoconfig "'>)})
                                                      (C {<grep>} {<-ci>} {<-m1>} {<1920x1080>})
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'current_resolution='>
                                      name: current_resolution
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <1080p>)}
                                  spids: [6747]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [6706 6744]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<cat>} {<'/DietPi/boot.ini'>})
                                                      (C {<grep>} {<-m1>} {(SQ <'setenv videoconfig "'>)})
                                                      (C {<grep>} {<-ci>} {<-m1>} {<1280x720>})
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'current_resolution='>
                                      name: current_resolution
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <720p>)}
                                  spids: [6794]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [6753 6791]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<cat>} {<'/DietPi/boot.ini'>})
                                                      (C {<grep>} {<-m1>} {(SQ <'setenv videoconfig "'>)})
                                                      (C {<grep>} {<-ci>} {<-m1>} {<720x480>})
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'current_resolution='>
                                      name: current_resolution
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <480p>)}
                                  spids: [6841]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [6800 6838]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'DietPi - Resolution'>)}
                          spids: [6851]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--title>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                      {<--menu>}
                                      {
                                        (DQ <' Hardware : '> 
                                          ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <' '> <Id.Lit_BadBackslash '\\'> <'n Current: '> ($ Id.VSub_DollarName current_resolution)
                                        )
                                      }
                                      {<--cancel-button>}
                                      {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                      {<14>}
                                      {<60>}
                                      {<4>}
                                      {(DQ <1080p>)}
                                      {(DQ <'1920 x 1080'>)}
                                      {(DQ <720p>)}
                                      {(DQ <'1280 x 720'>)}
                                      {(DQ <480p>)}
                                      {(DQ <'720 x 480'>)}
                                      {(DQ <'VU7+'>)}
                                      {(DQ <'1024 x 600'>)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [6857]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [6942]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [6964]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<2>}
                                  spids: [6973]
                                )
                              ]
                              redirects: []
                            )
                            (C {<sed>} {<-i>} {(SQ <'/setenv vout /c\\setenv vout "hdmi"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                            (command.Case
                              to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                              arms: [
                                (case_arm
                                  pat_list: [{<1080p>}]
                                  action: [
                                    (C {<sed>} {<-i>} 
                                      {
                                        (SQ 
                                          <
'/setenv videoconfig /c\\setenv videoconfig "drm_kms_helper.edid_firmware=edid/1920x1080.bin"'
                                          >
                                        )
                                      } {<'/DietPi/boot.ini'>}
                                    )
                                  ]
                                  spids: [7004 7005 7019 -1]
                                )
                                (case_arm
                                  pat_list: [{<720p>}]
                                  action: [
                                    (C {<sed>} {<-i>} 
                                      {
                                        (SQ 
                                          <
'/setenv videoconfig /c\\setenv videoconfig "drm_kms_helper.edid_firmware=edid/1280x720.bin"'
                                          >
                                        )
                                      } {<'/DietPi/boot.ini'>}
                                    )
                                  ]
                                  spids: [7022 7023 7037 -1]
                                )
                                (case_arm
                                  pat_list: [{<480p>}]
                                  action: [
                                    (C {<sed>} {<-i>} 
                                      {
                                        (SQ 
                                          <
'/setenv videoconfig /c\\setenv videoconfig "drm_kms_helper.edid_firmware=edid/720x480.bin"'
                                          >
                                        )
                                      } {<'/DietPi/boot.ini'>}
                                    )
                                  ]
                                  spids: [7040 7041 7055 -1]
                                )
                                (case_arm
                                  pat_list: [{(DQ <'VU7+'>)}]
                                  action: [
                                    (C {<sed>} {<-i>} 
                                      {
                                        (SQ 
                                          <
'/setenv videoconfig /c\\setenv videoconfig "drm_kms_helper.edid_firmware=edid/1024x600.bin"'
                                          >
                                        )
                                      } {<'/DietPi/boot.ini'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/setenv vout /c\\setenv vout "dvi"'>)} 
                                      {<'/DietPi/boot.ini'>}
                                    )
                                  ]
                                  spids: [7058 7061 7086 -1]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [6946 6960]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [6677 6691]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 12>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'current_resolution='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/boot.ini'>})
                                (C {<grep>} {<-m1>} {(SQ <'setenv m "'>)})
                                (C {<awk>} {<-F>} {(SQ <'"'>)} {(SQ <'{print $2}'>)})
                                (C {<sed>} {(SQ <'s/p/p /'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'DietPi - Resolution'>)}
                          spids: [7172]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--title>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                      {<--menu>}
                                      {
                                        (DQ <' Hardware : '> 
                                          ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <' '> <Id.Lit_BadBackslash '\\'> <'n Current: '> ($ Id.VSub_DollarName current_resolution)
                                        )
                                      }
                                      {<--default-item>}
                                      {(DQ ($ Id.VSub_DollarName current_resolution))}
                                      {<--cancel-button>}
                                      {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                      {<18>}
                                      {<60>}
                                      {<9>}
                                      {(DQ <'2160p 60hz'>)}
                                      {(DQ <'4K (Recommended)'>)}
                                      {(DQ <'2160p 50hz'>)}
                                      {(DQ <4K>)}
                                      {(DQ <'2160p 30hz'>)}
                                      {(DQ <4K>)}
                                      {(DQ <'2160p 25hz'>)}
                                      {(DQ <4K>)}
                                      {(DQ <'2160p 24hz'>)}
                                      {(DQ <4K>)}
                                      {(DQ <'1080p 60hz'>)}
                                      {(DQ <'1080p (Recommended)'>)}
                                      {(DQ <'1080p 50hz'>)}
                                      {(DQ <1080p>)}
                                      {(DQ <'1080p 24hz'>)}
                                      {(DQ <1080p>)}
                                      {(DQ <'720p 60hz'>)}
                                      {(DQ <'720p (Recommended)'>)}
                                      {(DQ <'720p 50hz'>)}
                                      {(DQ <720p>)}
                                      {(DQ <'480p 60hz'>)}
                                      {(DQ <480p>)}
                                      {(DQ <'1024x600p 60hz'>)}
                                      {(DQ <'VU7+'>)}
                                      {(DQ <'1024x768p 60hz'>)}
                                      {(DQ <'4:3'>)}
                                      {(DQ <'800x600p 60hz'>)}
                                      {(DQ <'4:3'>)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [7178]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [7369]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName current_resolution))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                              name: REBOOT_REQUIRED
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [7413]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [7391 7409]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<sed>} {<-i>} {(SQ <'/setenv vout "dvi"/c\\# setenv vout "dvi"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                            (C {<sed>} {<-i>} {(SQ <'/setenv vout "vga"/c\\# setenv vout "vga"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <'1024x600p 60hz'>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<sed>} {<-i>} {(SQ <'/setenv vout "dvi"/c\\setenv vout "dvi"'>)} 
                                      {<'/DietPi/boot.ini'>}
                                    )
                                  ]
                                  spids: [7453 7470]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName OPTION))})
                                              (C {<tr>} {<-d>} {(SQ <'[:blank:]'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [7498]
                                )
                              ]
                              redirects: []
                            )
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/setenv m /c'> <Id.Lit_BadBackslash '\\'> <'setenv m '> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) ($ Id.VSub_DollarName OPTION) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
                                )
                              } {<'/DietPi/boot.ini'>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<2>}
                                  spids: [7542]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [7373 7387]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [7102 7116]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 40>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'current_resolution='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/uEnv.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <'optargs=disp.screen0_output_mode='>)})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'DietPi - Resolution'>)}
                          spids: [7606]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--title>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                      {<--menu>}
                                      {
                                        (DQ <' Hardware : '> 
                                          ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <' '> <Id.Lit_BadBackslash '\\'> <'n Current: '> ($ Id.VSub_DollarName current_resolution)
                                        )
                                      }
                                      {<--default-item>}
                                      {(DQ ($ Id.VSub_DollarName current_resolution))}
                                      {<--cancel-button>}
                                      {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                      {<18>}
                                      {<55>}
                                      {<9>}
                                      {(DQ <720p50>)}
                                      {(DQ )}
                                      {(DQ <720p60>)}
                                      {(DQ <720p>)}
                                      {(DQ <1080i50>)}
                                      {(DQ )}
                                      {(DQ <1080i60>)}
                                      {(DQ <1080i>)}
                                      {(DQ <1080p24>)}
                                      {(DQ )}
                                      {(DQ <1080p50>)}
                                      {(DQ )}
                                      {(DQ <1080p60>)}
                                      {(DQ <1080p>)}
                                      {(DQ <2160p24>)}
                                      {(DQ )}
                                      {(DQ <2160p25>)}
                                      {(DQ )}
                                      {(DQ <2160p30>)}
                                      {(DQ <4K>)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [7612]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [7757]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName current_resolution))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/^optargs=disp.screen0_output_mode=/c'> 
                                          <Id.Lit_BadBackslash '\\'> <'optargs=disp.screen0_output_mode='> ($ Id.VSub_DollarName OPTION)
                                        )
                                      } {<'/DietPi/uEnv.txt'>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                              name: REBOOT_REQUIRED
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [7815]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [7779 7797]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<2>}
                                  spids: [7828]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [7761 7775]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [7555 7569]
                )
              ]
              else_action: [(C {<Info_HW_OptionNotSupported>})]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_AdvancedOptions
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7862]
                )
              ]
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                (sh_array_literal left:<Id.Op_LParen _> words:[])
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'swap_size='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<grep>} {<-m1>} {(SQ <'^CONF_SWAPSIZE='>)} {<'/etc/dphys-swapfile'>})
                        (C {<sed>} {(SQ <'s/.*=//'>)})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (C {<local>} {<Id.Lit_VarLike 'swap_text='> (DQ ($ Id.VSub_DollarName swap_size) <' MB'>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName swap_size)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'swap_text='> name:swap_text)
                          op: assign_op.Equal
                          rhs: {(DQ <Disabled>)}
                          spids: [7929]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [7912 7926]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [{(DQ <'Swapfile size'>)} {(DQ <': '> ($ Id.VSub_DollarName swap_text))}]
                      )
                    }
                  spids: [7938]
                )
              ]
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'ntpd_mode_current='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<grep>} {<-m1>} {(SQ <'^CONFIG_NTP_MODE='>)} {<'/DietPi/dietpi.txt'>})
                        (C {<sed>} {(SQ <'s/.*=//'>)})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (C {<local>} {<Id.Lit_VarLike 'ntpd_mode_text='> (DQ )})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ntpd_mode_current)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ntpd_mode_text='>
                              name: ntpd_mode_text
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <Disabled>)}
                          spids: [8004]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [7987 8001]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ntpd_mode_current)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ntpd_mode_text='>
                              name: ntpd_mode_text
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'Boot Only'>)}
                          spids: [8027]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8010 8024]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ntpd_mode_current)}
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ntpd_mode_text='>
                              name: ntpd_mode_text
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'Boot + Daily'>)}
                          spids: [8050]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8033 8047]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ntpd_mode_current)}
                                  right: {<Id.Lit_Digits 3>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ntpd_mode_text='>
                              name: ntpd_mode_text
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'Boot + Hourly'>)}
                          spids: [8073]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8056 8070]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ntpd_mode_current)}
                                  right: {<Id.Lit_Digits 4>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ntpd_mode_text='>
                              name: ntpd_mode_text
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'Daemon + Drift'>)}
                          spids: [8096]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8079 8093]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [
                          {(DQ <'Time sync mode'>)}
                          {(DQ <': '> ($ Id.VSub_DollarName ntpd_mode_text))}
                        ]
                      )
                    }
                  spids: [8105]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'serialconsole_state='>
                      name: serialconsole_state
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^CONFIG_SERIAL_CONSOLE_ENABLE='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [8119]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'serialconsole_text='>
                      name: serialconsole_text
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Disabled>)}
                  spids: [8145]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName serialconsole_state)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'serialconsole_text='>
                              name: serialconsole_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <Enabled>)}
                          spids: [8168]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8151 8165]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [{(DQ <'Update firmware'>)} {(DQ )}]
                      )
                    }
                  spids: [8178]
                )
              ]
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'bluetooth_state_text='> (SQ <Enabled>)})
            (C {<local>} {<Id.Lit_VarLike 'bluetooth_state='> <1>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-f>} {<'/etc/modprobe.d/disable_bt.conf'>} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'bluetooth_state='>
                              name: bluetooth_state
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [8218]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'bluetooth_state_text='>
                              name: bluetooth_state_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [8222]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8204 8215]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_NEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 20>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <Bluetooth>)}
                                  {(DQ <': '> ($ Id.VSub_DollarName bluetooth_state_text))}
                                ]
                              )
                            }
                          spids: [8252]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8235 8249]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_NEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 20>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <'Serial console'>)}
                                  {(DQ <': '> ($ Id.VSub_DollarName serialconsole_text))}
                                ]
                              )
                            }
                          spids: [8290]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8273 8287]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 10>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'rpi_i2c_enabled='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-ci>} {<-m1>} {(SQ <'dtparam=i2c_arm=on'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} {<Id.Lit_VarLike 'rpi_i2c_text='> (SQ <Disabled>)})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName rpi_i2c_enabled)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'rpi_i2c_text='>
                                      name: rpi_i2c_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [8376]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [8359 8373]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'rpi_i2cbaudrate_hz='> 
                        (DQ 
                          (word_part.ArithSub
                            anode: 
                              (arith_expr.Binary
                                op_id: Id.Arith_Slash
                                left: 
                                  {
                                    (command_sub
                                      left_token: <Id.Left_DollarParen '$('>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<cat>} {<'/DietPi/config.txt'>})
                                            (C {<grep>} {<-m1>} {(SQ <'i2c_arm_baudrate='>)})
                                            (C {<sed>} {(SQ <'s/.*=//'>)})
                                          ]
                                          negated: F
                                          stderr_indices: []
                                        )
                                      right: <Id.Eof_RParen _>
                                    )
                                  }
                                right: {<Id.Lit_Digits 1000>}
                              )
                          ) <' kHz'>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'usb_max_current_enabled='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-ci>} {<-m1>} {(SQ <'max_usb_current=1'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} {<Id.Lit_VarLike 'rpi_usbmaxcurrent_text='> (SQ <Disabled>)})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} 
                                      {(DQ ($ Id.VSub_DollarName usb_max_current_enabled))} {<Id.Lit_Equals '='>} {<1>} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'rpi_usbmaxcurrent_text='>
                                      name: rpi_usbmaxcurrent_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [8474]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [8456 8471]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<local>} 
                              {<Id.Lit_VarLike 'rpi3_usb_boot_bit_enabled='> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<vcgencmd>} {<otp_dump>})
                                        (C {<grep>} {<-m1>} {(SQ <'17:'>)})
                                        (C {<grep>} {<-ci>} {<-m1>} {(SQ <3020000a>)})
                                      ]
                                      negated: F
                                      stderr_indices: []
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'rpi3_usb_boot_bit_enabled_text='> (SQ <Disabled>)}
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                {($ Id.VSub_DollarName rpi3_usb_boot_bit_enabled)}
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: 
                                                <Id.Lit_VarLike 'rpi3_usb_boot_bit_enabled_text='>
                                              name: rpi3_usb_boot_bit_enabled_text
                                            )
                                          op: assign_op.Equal
                                          rhs: {(SQ <Enabled>)}
                                          spids: [8556]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [8542 8552]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(DQ <'USB boot support'>)}
                                          {
                                            (DQ <': '> 
                                              ($ Id.VSub_DollarName rpi3_usb_boot_bit_enabled_text)
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [8567]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [8484 8498]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <'Max USB current'>)}
                                  {(DQ <': '> ($ Id.VSub_DollarName rpi_usbmaxcurrent_text))}
                                ]
                              )
                            }
                          spids: [8585]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <'I2c state'>)}
                                  {(DQ <': '> ($ Id.VSub_DollarName rpi_i2c_text))}
                                ]
                              )
                            }
                          spids: [8598]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <'I2c frequency'>)}
                                  {(DQ <': '> ($ Id.VSub_DollarName rpi_i2cbaudrate_hz))}
                                ]
                              )
                            }
                          spids: [8611]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8311 8325]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Advanced Options'>)}
                  spids: [8630]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {(DQ <'Please select an option:'>)}
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<16>}
                              {<60>}
                              {<8>}
                              {
                                (DQ 
                                  (braced_var_sub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name whiptail_menu_array>
                                    var_name: whiptail_menu_array
                                    bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                )
                              }
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [8636]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [8685]
                )
              ]
              redirects: []
            )
            (C {<unset>} {<whiptail_menu_array>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <'Swapfile size'>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'MIN_VALUE='>
                                      name: MIN_VALUE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                  spids: [8735]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'MAX_VALUE='>
                                      name: MAX_VALUE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<2000>}
                                  spids: [8739]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ 
                                                  <
'This will set the size of your swap file in MB:'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                                  <
'nSwapfile has a swapiness setting of 1. Swapfile is used only to prevent out of memory errors.'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - Recommended value = 1 (auto)'> 
                                                  <Id.Lit_BadBackslash '\\'> <'n - 0 = Disable swapfile'> <Id.Lit_BadBackslash '\\'> 
                                                  <'n - 1 = Auto size swapfile (2GB - RAM = size)'> <Id.Lit_BadBackslash '\\'> <'n - 2 - '> ($ Id.VSub_DollarName MAX_VALUE) <' = Manual size'>
                                                )
                                              }
                                              {<16>}
                                              {<75>}
                                              {(DQ ($ Id.VSub_DollarName swap_size))}
                                              {<--title>}
                                              {(DQ <'SwapFile Size (MB)'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [8743]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [8794]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.AndOr
                                                      ops: [Id.Op_DAmp Id.Op_DAmp]
                                                      children: [
                                                        (command.DBracket
                                                          expr: 
                                                            (bool_expr.Binary
                                                              op_id: Id.BoolBinary_EqualTilde
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {<Id.Lit_Other '^'> <-> 
                                                                  <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                                                                }
                                                            )
                                                          redirects: []
                                                        )
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_GreatEqual
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {($ Id.VSub_DollarName MIN_VALUE)}
                                                            )
                                                          redirects: []
                                                        )
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_LessEqual
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {($ Id.VSub_DollarName MAX_VALUE)}
                                                            )
                                                          redirects: []
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_NEqual
                                                                  left: 
                                                                    {($ Id.VSub_DollarName OPTION)}
                                                                  right: 
                                                                    {
                                                                      ($ Id.VSub_DollarName swap_size)
                                                                    }
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (C 
                                                      {
                                                        <
'/DietPi/dietpi/func/dietpi-set_dphys-swapfile'
                                                        >
                                                      } {($ Id.VSub_DollarName OPTION)}
                                                    )
                                                  ]
                                                  spids: [8871 8885]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                          spids: [8816 8863]
                                        )
                                      ]
                                      else_action: [(C {<Info_Input_Not_Valid_Integer>})]
                                      redirects: []
                                    )
                                  ]
                                  spids: [8798 8812]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<3>}
                                  spids: [8919]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [8714 8731]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <'Time sync mode'>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ <'Time Sync (NTP)'>)}
                                              {<--menu>}
                                              {
                                                (DQ 
                                                  <
'Here you can adjust the frequency of NTP time syncs.'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - Modes 1-3:'> <Id.Lit_BadBackslash '\\'> 
                                                  <
'nDietPi will launch NTPD as a program, rather than a daemon. Once the time has been updated on your system, NTPD will exit to reduce resource usage.'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - Mode 4:'> <Id.Lit_BadBackslash '\\'> 
                                                  <
'nsystemd-timesyncd will run as a background daemon/service. Differences in time will be gradually adjusted over time, rather than instantly.'
                                                  >
                                                )
                                              }
                                              {<--cancel-button>}
                                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                              {<--default-item>}
                                              {(DQ ($ Id.VSub_DollarName ntpd_mode_current))}
                                              {<23>}
                                              {<70>}
                                              {<5>}
                                              {(DQ <0>)}
                                              {(DQ <Disabled>)}
                                              {(DQ <1>)}
                                              {(DQ <'Boot Only'>)}
                                              {(DQ <2>)}
                                              {(DQ <'Boot + Daily (Recommended)'>)}
                                              {(DQ <3>)}
                                              {(DQ <'Boot + Hourly'>)}
                                              {(DQ <4>)}
                                              {(DQ <'Daemon + Drift'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [8945]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [9053]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<'/DietPi/dietpi/func/dietpi-set_software'>} {<ntpd-mode>} 
                                      {($ Id.VSub_DollarName OPTION)}
                                    )
                                  ]
                                  spids: [9057 9071]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<3>}
                                  spids: [9091]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [8924 8941]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <'Update firmware'>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 10>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                              name: WHIP_QUESTION
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                <
'Would you like to update the firmware/kernel for '
                                                > ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <'?'> <Id.Lit_BadBackslash '\\'> 
                                                <'n - This will run G_RPI_UPDATE'>
                                              )
                                            }
                                          spids: [9139]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                      {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} 
                                      {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<70>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [9188]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<G_RPI_UPDATE>})
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                      name: REBOOT_REQUIRED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [9213]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [9192 9206]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [9121 9135]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 40>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                              name: WHIP_QUESTION
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                <
'Would you like to update the firmware/kernel for '
                                                > ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <'?'> <Id.Lit_BadBackslash '\\'> 
                                                <
'n - This will run longsleep\'s update scripts to update the U-Boot and kernel.'
                                                >
                                              )
                                            }
                                          spids: [9244]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                      {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} 
                                      {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<70>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [9293]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<'/usr/local/sbin/pine64_update_uboot.sh'>})
                                            (C {<'/usr/local/sbin/pine64_update_kernel.sh'>})
                                          ]
                                          spids: [9297 9311]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [9226 9240]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                          name: WHIP_QUESTION
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (DQ <'Would you like to update the firmware/kernel for '> 
                                            ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <'?'> <Id.Lit_BadBackslash '\\'> <'n - This will run G_AGDUG'> <Id.Lit_BadBackslash '\\'> 
                                            <
'n - Most (but not all) devices allow APT based firmware updates'
                                            > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                            <
'nNB: If requested to overwrite the current kernel, press TAB and then ENTER (to confirm).'
                                            >
                                          )
                                        }
                                      spids: [9334]
                                    )
                                  ]
                                  redirects: []
                                )
                                (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                  {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} 
                                  {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<16>} {<70>}
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'CHOICE='>
                                          name: CHOICE
                                        )
                                      op: assign_op.Equal
                                      rhs: {($ Id.VSub_QMark '?')}
                                      spids: [9389]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName CHOICE)}
                                                      right: {<Id.Lit_Digits 0>}
                                                    )
                                                  redirects: []
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [(C {<G_AGUP>}) (C {<G_AGDUG>})]
                                      spids: [9393 9407]
                                    )
                                  ]
                                  else_action: []
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<3>}
                                  spids: [9430]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [9096 9113]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <'Max USB current'>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {($ Id.VSub_DollarName usb_max_current_enabled)}
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                              name: WHIP_QUESTION
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ <' Current setting: '> 
                                                ($ Id.VSub_DollarName rpi_usbmaxcurrent_text) <' (1.2AMP) '> <Id.Lit_BadBackslash '\\'> <'n Would you like to disable this setting ? '> 
                                                <Id.Lit_BadBackslash '\\'> <'n '> <Id.Lit_BadBackslash '\\'> <'n Once Disabled: '> <Id.Lit_BadBackslash '\\'> 
                                                <'n - Max USB current will be limited to 0.6AMP.'> <Id.Lit_BadBackslash '\\'> <'n - Shared by all USB ports.'>
                                              )
                                            }
                                          spids: [9477]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                      {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} 
                                      {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<12>} {<70>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [9534]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<sed>} {<-i>} 
                                              {(SQ <'/max_usb_current=/c\\max_usb_current=0'>)} {<'/DietPi/config.txt'>}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                      name: REBOOT_REQUIRED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [9566]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [9538 9552]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [9460 9474]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {($ Id.VSub_DollarName usb_max_current_enabled)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                              name: WHIP_QUESTION
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ <' Current setting: '> 
                                                ($ Id.VSub_DollarName rpi_usbmaxcurrent_text) <' (0.6AMP) '> <Id.Lit_BadBackslash '\\'> <'n Would you like to enable this setting ? '> 
                                                <Id.Lit_BadBackslash '\\'> <'n '> <Id.Lit_BadBackslash '\\'> <'n Once Enabled: '> <Id.Lit_BadBackslash '\\'> 
                                                <'n - Max USB current will be set to 1.2AMP.'> <Id.Lit_BadBackslash '\\'> <'n - Shared by all USB ports.'>
                                              )
                                            }
                                          spids: [9594]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                      {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} 
                                      {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<70>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [9651]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<sed>} {<-i>} 
                                              {(SQ <'/max_usb_current=/c\\max_usb_current=1'>)} {<'/DietPi/config.txt'>}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                      name: REBOOT_REQUIRED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [9683]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [9655 9669]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [9577 9591]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<3>}
                                  spids: [9698]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [9435 9452]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <'I2c state'>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName rpi_i2c_enabled)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<i2c>} {<enable>})
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                              name: REBOOT_REQUIRED
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [9748]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [9724 9738]
                                )
                              ]
                              else_action: [
                                (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<i2c>} {<disable>})
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                          name: REBOOT_REQUIRED
                                        )
                                      op: assign_op.Equal
                                      rhs: {<1>}
                                      spids: [9762]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<3>}
                                  spids: [9774]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [9703 9720]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <'I2c frequency'>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'rpi_i2cbaudrate_hz='>
                                      name: rpi_i2cbaudrate_hz
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<echo>} {<-e>} 
                                                {(DQ ($ Id.VSub_DollarName rpi_i2cbaudrate_hz))}
                                              )
                                              (C {<tr>} {<-d>} {(SQ <' kHz'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [9804]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ 
                                                  <
'Please enter the required i2c baudrate frequency (kHz).'
                                                  >
                                                )
                                              }
                                              {<8>}
                                              {<60>}
                                              {(DQ ($ Id.VSub_DollarName rpi_i2cbaudrate_hz))}
                                              {<--title>}
                                              {(DQ <'i2c baudrate frequency (kHz)'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [9826]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [9861]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DBracket
                                                      expr: 
                                                        (bool_expr.Binary
                                                          op_id: Id.BoolBinary_EqualTilde
                                                          left: {($ Id.VSub_DollarName OPTION)}
                                                          right: 
                                                            {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> 
                                                              <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                                                            }
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<i2c>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                      name: REBOOT_REQUIRED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [9918]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [9886 9906]
                                        )
                                      ]
                                      else_action: [(C {<Info_Input_Not_Valid_Integer>})]
                                      redirects: []
                                    )
                                  ]
                                  spids: [9865 9879]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<3>}
                                  spids: [9940]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [9779 9796]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <'Serial console'>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName serialconsole_state)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<serialconsole>} 
                                      {<enable>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                              name: REBOOT_REQUIRED
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [9991]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [9966 9980]
                                )
                              ]
                              else_action: [
                                (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<serialconsole>} 
                                  {<disable>}
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                          name: REBOOT_REQUIRED
                                        )
                                      op: assign_op.Equal
                                      rhs: {<1>}
                                      spids: [10007]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<3>}
                                  spids: [10020]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [9945 9962]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <Bluetooth>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: {($ Id.VSub_DollarName bluetooth_state)}
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<bluetooth>} 
                                      {<disable>}
                                    )
                                  ]
                                  spids: [10046 10056]
                                )
                              ]
                              else_action: [
                                (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<bluetooth>} 
                                  {<enable>}
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<3>}
                                  spids: [10084]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [10025 10042]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <'USB boot support'>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: 
                                                    {
                                                      ($ Id.VSub_DollarName rpi3_usb_boot_bit_enabled)
                                                    }
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                              name: WHIP_QUESTION
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SQ 
                                                <
'The following will enable the RPi 3 to boot from USB mass storage devices. A hardware bit "17:3020000a", specific to the device is set to enable the feature.\\n\\nNB:\\n - Not all USB mass storage devices are supported\\n - The HW bit which enables this setting is non-reversible\\n\\nDo you wish to enable USB mass storage boot support?'
                                                >
                                              )
                                            }
                                          spids: [10126]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                      {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} 
                                      {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<16>} {<70>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [10171]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} 
                                              {<rpi3_usb_boot>} {<enable>}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                      name: REBOOT_REQUIRED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [10200]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                                      name: WHIP_QUESTION
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (SQ 
                                                        <
'A reboot is required to apply this setting.\\n\\nPlease reboot this system once, the HW bit which allows USB boot support will then be set. After which, USB mass storage devices can be used for booting.\\n\\nWould you like to reboot the system now?'
                                                        >
                                                      )
                                                    }
                                                  spids: [10209]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (C {<whiptail>} {<--title>} 
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--defaultno>} {<--backtitle>} 
                                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<75>}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'CHOICE='>
                                                      name: CHOICE
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {($ Id.VSub_QMark '?')}
                                                  spids: [10242]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_DEqual
                                                                  left: 
                                                                    {($ Id.VSub_DollarName CHOICE)}
                                                                  right: {<Id.Lit_Digits 0>}
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [(C {<reboot>})]
                                                  spids: [10246 10260]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                          spids: [10175 10189]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [10110 10122]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<3>}
                                  spids: [10284]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [10089 10106]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [8696 8710]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_PerformanceOptions
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [10312]
                )
              ]
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'current_cpu_governor='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<grep>} {<-m1>} {(SQ <'^CONFIG_CPU_GOVERNOR='>)} {<'/DietPi/dietpi.txt'>})
                        (C {<sed>} {(SQ <'s/.*=//'>)})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (C {<local>} {<Id.Lit_VarLike 'frequency_min_cpu_governor='> <1>})
            (C {<local>} 
              {<Id.Lit_VarLike 'fp_frequency_min_cpu_governor='> 
                (SQ <'/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq'>)
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                              {(DQ ($ Id.VSub_DollarName fp_frequency_min_cpu_governor))} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'frequency_min_cpu_governor='>
                              name: frequency_min_cpu_governor
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Slash
                                    left: 
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (C {<cat>} 
                                              {
                                                (DQ 
                                                  ($ Id.VSub_DollarName fp_frequency_min_cpu_governor)
                                                )
                                              }
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      }
                                    right: {<Id.Lit_Digits 1000>}
                                  )
                              )
                            }
                          spids: [10377]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [10360 10373]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'frequency_max_cpu_governor='> <2>})
            (C {<local>} 
              {<Id.Lit_VarLike 'fp_frequency_max_cpu_governor='> 
                (SQ <'/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq'>)
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                              {(DQ ($ Id.VSub_DollarName fp_frequency_max_cpu_governor))} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'frequency_max_cpu_governor='>
                              name: frequency_max_cpu_governor
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Slash
                                    left: 
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (C {<cat>} 
                                              {
                                                (DQ 
                                                  ($ Id.VSub_DollarName fp_frequency_max_cpu_governor)
                                                )
                                              }
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      }
                                    right: {<Id.Lit_Digits 1000>}
                                  )
                              )
                            }
                          spids: [10432]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [10415 10428]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'arm_temp='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<G_OBTAIN_CPU_TEMP>})
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (C {<local>} {<Id.Lit_VarLike 'arm_temp_f='> (SQ <Unknown>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_EqualTilde
                                  left: {($ Id.VSub_DollarName arm_temp)}
                                  right: 
                                    {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> 
                                      <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                                    }
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arm_temp_f='> name:arm_temp_f)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (word_part.ArithSub
                                  anode: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Plus
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Slash
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Star
                                              left: {($ Id.VSub_DollarName arm_temp)}
                                              right: {<Id.Lit_Digits 9>}
                                            )
                                          right: {<Id.Lit_Digits 5>}
                                        )
                                      right: {<Id.Lit_Digits 32>}
                                    )
                                ) <'\'f'>
                              )
                            }
                          spids: [10496]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'arm_temp+='> name:arm_temp)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <'\'c'>)}
                          spids: [10524]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [10472 10492]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'memory_total='> 
                (word_part.ArithSub
                  anode: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Slash
                      left: 
                        {
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<cat>} {<'/proc/meminfo'>})
                                  (C {<grep>} {<-m1>} {(SQ <'MemTotal:'>)})
                                  (C {<awk>} {(SQ <'{print $2}'>)})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          )
                        }
                      right: {<Id.Lit_Digits 1000>}
                    )
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'memory_free='> 
                (word_part.ArithSub
                  anode: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Slash
                      left: 
                        {
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<cat>} {<'/proc/meminfo'>})
                                  (C {<grep>} {<-m1>} {(SQ <'MemFree:'>)})
                                  (C {<awk>} {(SQ <'{print $2}'>)})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          )
                        }
                      right: {<Id.Lit_Digits 1000>}
                    )
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'memory_usage='> 
                (word_part.ArithSub
                  anode: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Minus
                      left: {($ Id.VSub_DollarName memory_total)}
                      right: {($ Id.VSub_DollarName memory_free)}
                    )
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                (sh_array_literal left:<Id.Op_LParen _> words:[])
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 10>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [{(DQ <Overclocking>)} {(DQ <'Set Profile'>)}]
                              )
                            }
                          spids: [10660]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [10643 10657]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [
                          {(DQ <'Change CPU Governor'>)}
                          {(DQ <': '> ($ Id.VSub_DollarName current_cpu_governor))}
                        ]
                      )
                    }
                  spids: [10680]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DPipe Id.Op_DPipe]
                              children: [
                                (C {<Id.Lit_LBracket '['>} 
                                  {(DQ ($ Id.VSub_DollarName current_cpu_governor))} {<Id.Lit_Equals '='>} {(DQ <ondemand>)} {<Id.Lit_RBracket ']'>}
                                )
                                (C {<Id.Lit_LBracket '['>} 
                                  {(DQ ($ Id.VSub_DollarName current_cpu_governor))} {<Id.Lit_Equals '='>} {(DQ <conservative>)} {<Id.Lit_RBracket ']'>}
                                )
                                (C {<Id.Lit_LBracket '['>} 
                                  {(DQ ($ Id.VSub_DollarName current_cpu_governor))} {<Id.Lit_Equals '='>} {(DQ <interactive>)} {<Id.Lit_RBracket ']'>}
                                )
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'current_cpu_throttle_up='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/dietpi.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <'^CONFIG_CPU_USAGE_THROTTLE_UP='>)})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <'CPU Throttle Up'>)}
                                  {(DQ <': '> ($ Id.VSub_DollarName current_cpu_throttle_up) <'%'>)}
                                ]
                              )
                            }
                          spids: [10781]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [10698 10749]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} 
                              {(DQ ($ Id.VSub_DollarName current_cpu_governor))} {<Id.Lit_Equals '='>} {<ondemand>} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'current_cpu_sample_rate='> 
                        (word_part.ArithSub
                          anode: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Slash
                              left: 
                                {
                                  (command_sub
                                    left_token: <Id.Left_DollarParen '$('>
                                    child: 
                                      (command.Pipeline
                                        children: [
                                          (C {<cat>} {<'/DietPi/dietpi.txt'>})
                                          (C {<grep>} {<-m1>} 
                                            {(SQ <'^CONFIG_CPU_ONDEMAND_SAMPLE_RATE='>)}
                                          )
                                          (C {<sed>} {(SQ <'s/.*=//'>)})
                                        ]
                                        negated: F
                                        stderr_indices: []
                                      )
                                    right: <Id.Eof_RParen _>
                                  )
                                }
                              right: {<Id.Lit_Digits 1000>}
                            )
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <'Ondemand Sample Rate'>)}
                                  {(DQ <': '> ($ Id.VSub_DollarName current_cpu_sample_rate) <' ms'>)}
                                ]
                              )
                            }
                          spids: [10864]
                        )
                      ]
                      redirects: []
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'current_cpu_down_factor='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<grep>} {<-m1>} {(SQ <'^CONFIG_CPU_ONDEMAND_SAMPLE_DOWNFACTOR='>)} 
                                  {<'/DietPi/dietpi.txt'>}
                                )
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'current_cpu_down_factor_ms='> 
                        (word_part.ArithSub
                          anode: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Star
                              left: {($ Id.VSub_DollarName current_cpu_down_factor)}
                              right: {($ Id.VSub_DollarName current_cpu_sample_rate)}
                            )
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <'Ondemand Down Factor'>)}
                                  {
                                    (DQ <': '> ($ Id.VSub_DollarName current_cpu_down_factor) <' ('> 
                                      ($ Id.VSub_DollarName current_cpu_down_factor_ms) <' ms)'>
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [10918]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [10805 10820]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'user_frequency_max_current='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<cat>} {<'/DietPi/dietpi.txt'>})
                        (C {<grep>} {<-m1>} {(SQ <'^CONFIG_CPU_MAX_FREQ='>)})
                        (C {<sed>} {(SQ <'s/.*=//'>)})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'user_frequency_max_text='> 
                (DQ ($ Id.VSub_DollarName user_frequency_max_current) <' MHz'>)
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Unary
                                  op_id: Id.Arith_Bang
                                  child: {($ Id.VSub_DollarName user_frequency_max_current)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'user_frequency_max_text='>
                              name: user_frequency_max_text
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <Disabled>)}
                          spids: [10996]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [10981 10993]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [
                          {(DQ <'CPU Max Freq Limit'>)}
                          {(DQ <': '> ($ Id.VSub_DollarName user_frequency_max_text))}
                        ]
                      )
                    }
                  spids: [11006]
                )
              ]
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'user_frequency_min_current='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<cat>} {<'/DietPi/dietpi.txt'>})
                        (C {<grep>} {<-m1>} {(SQ <'^CONFIG_CPU_MIN_FREQ='>)})
                        (C {<sed>} {(SQ <'s/.*=//'>)})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'user_frequency_min_text='> 
                (DQ ($ Id.VSub_DollarName user_frequency_min_current) <' MHz'>)
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Unary
                                  op_id: Id.Arith_Bang
                                  child: {($ Id.VSub_DollarName user_frequency_min_current)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'user_frequency_min_text='>
                              name: user_frequency_min_text
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <Disabled>)}
                          spids: [11076]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [11061 11073]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [
                          {(DQ <'CPU Min Freq Limit'>)}
                          {(DQ <': '> ($ Id.VSub_DollarName user_frequency_min_text))}
                        ]
                      )
                    }
                  spids: [11086]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 10>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'current_arm_temp_limit='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <temp_limit>)})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'current_initial_turbo='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/config.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <initial_turbo>)})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'text_current_initial_turbo='> 
                        (DQ ($ Id.VSub_DollarName current_initial_turbo) <' seconds'>)
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName current_initial_turbo)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'text_current_initial_turbo='>
                                      name: text_current_initial_turbo
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <Disabled>)}
                                  spids: [11205]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [11188 11202]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <'ARM Initial Turbo'>)}
                                  {(DQ <': '> ($ Id.VSub_DollarName text_current_initial_turbo))}
                                ]
                              )
                            }
                          spids: [11214]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <'ARM Temp Limit   '>)}
                                  {(DQ <': '> ($ Id.VSub_DollarName current_arm_temp_limit) <' \'c'>)}
                                ]
                              )
                            }
                          spids: [11227]
                        )
                      ]
                      redirects: []
                    )
                    (C {<local>} {<Id.Lit_VarLike 'rpi_freq_min_enabled='> <1>})
                    (C {<local>} {<Id.Lit_VarLike 'rpi_freq_min_text='> (DQ <Enabled>)})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<cat>} {<'/DietPi/config.txt'>})
                                                      (C {<grep>} {<-ci>} {<-m1>} 
                                                        {(SQ <'#arm_freq_min='>)}
                                                      )
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'rpi_freq_min_enabled='>
                                      name: rpi_freq_min_enabled
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                  spids: [11293]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'rpi_freq_min_text='>
                                      name: rpi_freq_min_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <Disabled>)}
                                  spids: [11297]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [11260 11290]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [11104 11118]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Performance Options'>)}
                  spids: [11320]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {
                                (DQ <' Hardware : '> ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) 
                                  <' '> <Id.Lit_BadBackslash '\\'> <'n ARM Temp: '> ($ Id.VSub_DollarName arm_temp) <' : '> 
                                  ($ Id.VSub_DollarName arm_temp_f) <Id.Lit_BadBackslash '\\'> <'n RAM: '> ($ Id.VSub_DollarName memory_total) <' MB | Used: '> 
                                  ($ Id.VSub_DollarName memory_usage) <' MB | Free: '> ($ Id.VSub_DollarName memory_free) <' MB'>
                                )
                              }
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<18>}
                              {<60>}
                              {<8>}
                              {
                                (DQ 
                                  (braced_var_sub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name whiptail_menu_array>
                                    var_name: whiptail_menu_array
                                    bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                )
                              }
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [11326]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [11396]
                )
              ]
              redirects: []
            )
            (C {<unset>} {<whiptail_menu_array>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ <'Ondemand Down Factor'>) <Id.Lit_Star '*'>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'MIN_VALUE='>
                                      name: MIN_VALUE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [11447]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'MAX_VALUE='>
                                      name: MAX_VALUE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<200>}
                                  spids: [11451]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ 
                                                  <
'After Ondemand throttles up, how long before the next sample to check if CPU clocks can be reduced.'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                                  <
'n - This value * \'Ondemand Sample Rate\' = total miliseconds'
                                                  > <Id.Lit_BadBackslash '\\'> 
                                                  <
'n - Lower values may help reduce power consumption, however, a 500-1000ms value is recommended to prevent excessive sampling.'
                                                  > <Id.Lit_BadBackslash '\\'> <'n - Valid range: '> ($ Id.VSub_DollarName MIN_VALUE) <' - '> 
                                                  ($ Id.VSub_DollarName MAX_VALUE) <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                                  <
'nIf unsure, set any value, \'Ondemand Down Factor\' option on the next screen will list the calculated miliseconds.'
                                                  >
                                                )
                                              }
                                              {<17>}
                                              {<70>}
                                              {(DQ ($ Id.VSub_DollarName current_cpu_down_factor))}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName OPTION))}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [11455]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [11505]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.AndOr
                                                      ops: [Id.Op_DAmp Id.Op_DAmp]
                                                      children: [
                                                        (command.DBracket
                                                          expr: 
                                                            (bool_expr.Binary
                                                              op_id: Id.BoolBinary_EqualTilde
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {<Id.Lit_Other '^'> <-> 
                                                                  <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                                                                }
                                                            )
                                                          redirects: []
                                                        )
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_LessEqual
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {($ Id.VSub_DollarName MAX_VALUE)}
                                                            )
                                                          redirects: []
                                                        )
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_GreatEqual
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {($ Id.VSub_DollarName MIN_VALUE)}
                                                            )
                                                          redirects: []
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<sed>} {<-i>} 
                                              {
                                                (DQ <'/CONFIG_CPU_ONDEMAND_SAMPLE_DOWNFACTOR=/c'> 
                                                  <Id.Lit_BadBackslash '\\'> <'CONFIG_CPU_ONDEMAND_SAMPLE_DOWNFACTOR='> ($ Id.VSub_DollarName OPTION)
                                                )
                                              } {<'/DietPi/dietpi.txt'>}
                                            )
                                            (C {<'/DietPi/dietpi/dietpi-cpu_set'>})
                                          ]
                                          spids: [11527 11569]
                                        )
                                      ]
                                      else_action: [(C {<Info_Input_Not_Valid_Integer>})]
                                      redirects: []
                                    )
                                  ]
                                  spids: [11509 11523]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<4>}
                                  spids: [11615]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [11439 11443 11619 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Ondemand Sample Rate'>) <Id.Lit_Star '*'>}]
                          action: [
                            (C {<local>} {<Id.Lit_VarLike 'index='> <0>})
                            (C {<local>} 
                              {<Id.Lit_VarLike 'input_fp='> 
                                (sh_array_literal
                                  left: <Id.Op_LParen _>
                                  words: [
                                    {
                                      (SQ 
                                        <
'/sys/devices/system/cpu/cpufreq/ondemand/sampling_rate_min'
                                        >
                                      )
                                    }
                                    {
                                      (SQ 
                                        <
'/sys/devices/system/cpu/cpufreq/ondemand/min_sampling_rate'
                                        >
                                      )
                                    }
                                    {
                                      (SQ 
                                        <
'/sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_min'
                                        >
                                      )
                                    }
                                    {
                                      (SQ 
                                        <
'/sys/devices/system/cpu/cpu0/cpufreq/ondemand/min_sampling_rate'
                                        >
                                      )
                                    }
                                  ]
                                )
                              }
                            )
                            (command.ForExpr
                              init: 
                                (arith_expr.BinaryAssign
                                  op_id: Id.Arith_Equal
                                  left: ($ Id.Lit_ArithVarLike i)
                                  right: {<Id.Lit_Digits 0>}
                                )
                              cond: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: ($ Id.Lit_ArithVarLike i)
                                  right: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name input_fp>
                                        var_name: input_fp
                                        prefix_op: <Id.VSub_Pound '#'>
                                        bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                )
                              update: 
                                (arith_expr.UnaryAssign
                                  op_id: Id.Node_PostDPlus
                                  child: ($ Id.Lit_ArithVarLike i)
                                )
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<Id.Lit_LBracket '['>} {<-f>} 
                                                      {
                                                        (DQ 
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: <Id.VSub_Name input_fp>
                                                            var_name: input_fp
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName i)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        )
                                                      } {<Id.Lit_RBracket ']'>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'index='>
                                                      name: index
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {($ Id.VSub_DollarName i)}
                                                  spids: [11718]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Break break>
                                            )
                                          ]
                                          spids: [11696 11714]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                )
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'MIN_VALUE='>
                                      name: MIN_VALUE
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (word_part.ArithSub
                                        anode: 
                                          (arith_expr.Binary
                                            op_id: Id.Arith_Slash
                                            left: 
                                              {
                                                (command_sub
                                                  left_token: <Id.Left_DollarParen '$('>
                                                  child: 
                                                    (C {<cat>} 
                                                      {
                                                        (DQ 
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: <Id.VSub_Name input_fp>
                                                            var_name: input_fp
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName index)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        )
                                                      }
                                                    )
                                                  right: <Id.Eof_RParen _>
                                                )
                                              }
                                            right: {<Id.Lit_Digits 1000>}
                                          )
                                      )
                                    }
                                  spids: [11734]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'MAX_VALUE='>
                                      name: MAX_VALUE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<300>}
                                  spids: [11758]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ 
                                                  <
'Sample rate in miliseconds, for Ondemand to check if it needs to increase CPU clocks.'
                                                  > <Id.Lit_BadBackslash '\\'> <'nA lower value will make the system more responsive.'> 
                                                  <Id.Lit_BadBackslash '\\'> <'n - valid range: '> ($ Id.VSub_DollarName MIN_VALUE) <' - '> ($ Id.VSub_DollarName MAX_VALUE)
                                                )
                                              }
                                              {<10>}
                                              {<70>}
                                              {(DQ ($ Id.VSub_DollarName current_cpu_sample_rate))}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName OPTION) <' (ms)'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [11762]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [11805]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.AndOr
                                                      ops: [Id.Op_DAmp Id.Op_DAmp]
                                                      children: [
                                                        (command.DBracket
                                                          expr: 
                                                            (bool_expr.Binary
                                                              op_id: Id.BoolBinary_EqualTilde
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {<Id.Lit_Other '^'> <-> 
                                                                  <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                                                                }
                                                            )
                                                          redirects: []
                                                        )
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_LessEqual
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {($ Id.VSub_DollarName MAX_VALUE)}
                                                            )
                                                          redirects: []
                                                        )
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_GreatEqual
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {($ Id.VSub_DollarName MIN_VALUE)}
                                                            )
                                                          redirects: []
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<sed>} {<-i>} 
                                              {
                                                (DQ <'/CONFIG_CPU_ONDEMAND_SAMPLE_RATE=/c'> 
                                                  <Id.Lit_BadBackslash '\\'> <'CONFIG_CPU_ONDEMAND_SAMPLE_RATE='> 
                                                  (word_part.ArithSub
                                                    anode: 
                                                      (arith_expr.Binary
                                                        op_id: Id.Arith_Star
                                                        left: {($ Id.VSub_DollarName OPTION)}
                                                        right: {<Id.Lit_Digits 1000>}
                                                      )
                                                  )
                                                )
                                              } {<'/DietPi/dietpi.txt'>}
                                            )
                                            (C {<'/DietPi/dietpi/dietpi-cpu_set'>})
                                          ]
                                          spids: [11827 11869]
                                        )
                                      ]
                                      else_action: [(C {<Info_Input_Not_Valid_Integer>})]
                                      redirects: []
                                    )
                                  ]
                                  spids: [11809 11823]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<unset>} {<input_fp>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<4>}
                                  spids: [11928]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [11623 11627 11932 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Lower Idle Frequencies'>) <Id.Lit_Star '*'>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                      name: WHIP_QUESTION
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        <
'Toggle the use of lower idle frequencies for CPU, CORE and RAM.'
                                        > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                        <
'nAs the lower frequencies are active only when the device is idle, enabling this feature allows for potential power saving without impacting performance.'
                                        > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nCurrent Setting: '> 
                                        ($ Id.VSub_DollarName rpi_freq_min_text) <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                        <'nEnable: (Allows for potential power saving)'> <Id.Lit_BadBackslash '\\'> <'nSets arm_freq_min=100, core_freq_min=75 and sdram_freq_min=200.'> 
                                        <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nDisable: (Default)'> <Id.Lit_BadBackslash '\\'> 
                                        <
'nSets arm_freq_min=700, core_freq_min=250 and sdram_freq_min=400.'
                                        >
                                      )
                                    }
                                  spids: [11944]
                                )
                              ]
                              redirects: []
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                                (sh_array_literal
                                  left: <Id.Op_LParen _>
                                  words: []
                                )
                              }
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(DQ <Enable>)}
                                          {(DQ <'Lowers the idle frequencies for CPU, CORE, RAM.'>)}
                                        ]
                                      )
                                    }
                                  spids: [11978]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(DQ <Disable>)}
                                          {(DQ <'Returns the idle frequencies to defaults.'>)}
                                        ]
                                      )
                                    }
                                  spids: [11990]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                              {<--menu>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))}
                                              {<--cancel-button>}
                                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                              {<--backtitle>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                              {<22>}
                                              {<75>}
                                              {<2>}
                                              {
                                                (DQ 
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name whiptail_menu_array>
                                                    var_name: whiptail_menu_array
                                                    bracket_op: 
                                                      (bracket_op.WholeArray
                                                        op_id: Id.Lit_At
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                )
                                              }
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [12003]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [12057]
                                )
                              ]
                              redirects: []
                            )
                            (C {<unset>} {<whiptail_menu_array>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<Id.Lit_LBracket '['>} 
                                                      {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Enable>)} {<Id.Lit_RBracket ']'>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<sed>} {<-i>} 
                                              {
                                                (DQ <'/arm_freq_min=/c'> <Id.Lit_BadBackslash '\\'> 
                                                  <'arm_freq_min=100'>
                                                )
                                              } {<'/DietPi/config.txt'>}
                                            )
                                            (C {<sed>} {<-i>} 
                                              {
                                                (DQ <'/core_freq_min=/c'> <Id.Lit_BadBackslash '\\'> 
                                                  <'core_freq_min=75'>
                                                )
                                              } {<'/DietPi/config.txt'>}
                                            )
                                            (C {<sed>} {<-i>} 
                                              {
                                                (DQ <'/sdram_freq_min=/c'> <Id.Lit_BadBackslash '\\'> 
                                                  <'sdram_freq_min=200'>
                                                )
                                              } {<'/DietPi/config.txt'>}
                                            )
                                          ]
                                          spids: [12090 12107]
                                        )
                                      ]
                                      else_action: [
                                        (C {<sed>} {<-i>} 
                                          {
                                            (DQ <'/arm_freq_min=/c'> <Id.Lit_BadBackslash '\\'> 
                                              <'#arm_freq_min=700'>
                                            )
                                          } {<'/DietPi/config.txt'>}
                                        )
                                        (C {<sed>} {<-i>} 
                                          {
                                            (DQ <'/core_freq_min=/c'> <Id.Lit_BadBackslash '\\'> 
                                              <'#core_freq_min=250'>
                                            )
                                          } {<'/DietPi/config.txt'>}
                                        )
                                        (C {<sed>} {<-i>} 
                                          {
                                            (DQ <'/sdram_freq_min=/c'> <Id.Lit_BadBackslash '\\'> 
                                              <'#sdram_freq_min=400'>
                                            )
                                          } {<'/DietPi/config.txt'>}
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                              name: REBOOT_REQUIRED
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [12199]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [12072 12086]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<4>}
                                  spids: [12212]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [11936 11940 12216 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'CPU Max Freq Limit'>) <Id.Lit_Star '*'>}]
                          action: [
                            (C {<'/DietPi/dietpi/dietpi-cpuinfo'>} {<2>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                                              {<'/tmp/dietpi-available_cpu_freqs'>} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<whiptail>} {<--title>} {(DQ <'Not Available'>)} {<--msgbox>} 
                                      {
                                        (DQ 
                                          <
'Your processor / kernel, does not support this feature.'
                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                          <'n(Info): Scaling_available_frequencies does not exist.'>
                                        )
                                      } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<10>} {<65>}
                                    )
                                  ]
                                  spids: [12234 12247]
                                )
                              ]
                              else_action: [
                                (C {<local>} 
                                  {<Id.Lit_VarLike 'whiptail_menu_list='> 
                                    (sh_array_literal
                                      left: <Id.Op_LParen _>
                                      words: []
                                    )
                                  }
                                )
                                (C {<local>} {<Id.Lit_VarLike 'max_clock='> <0>})
                                (C {<local>} 
                                  {<Id.Lit_VarLike 'available_frequency_array='> 
                                    (sh_array_literal
                                      left: <Id.Op_LParen _>
                                      words: []
                                    )
                                  }
                                )
                                (command.Simple
                                  words: [{<readarray>} {<available_frequency_array>}]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_Less '<'>
                                      loc: (redir_loc.Fd fd:0)
                                      arg: {<'/tmp/dietpi-available_cpu_freqs'>}
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                                (command.ForExpr
                                  init: 
                                    (arith_expr.BinaryAssign
                                      op_id: Id.Arith_Equal
                                      left: ($ Id.Lit_ArithVarLike i)
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  cond: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Less
                                      left: ($ Id.Lit_ArithVarLike i)
                                      right: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name available_frequency_array>
                                            var_name: available_frequency_array
                                            prefix_op: <Id.VSub_Pound '#'>
                                            bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                    )
                                  update: 
                                    (arith_expr.UnaryAssign
                                      op_id: Id.Node_PostDPlus
                                      child: ($ Id.Lit_ArithVarLike i)
                                    )
                                  body: 
                                    (command.DoGroup
                                      children: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'whiptail_menu_list+='>
                                                  name: whiptail_menu_list
                                                )
                                              op: assign_op.PlusEqual
                                              rhs: 
                                                {
                                                  (sh_array_literal
                                                    left: <Id.Op_LParen _>
                                                    words: [
                                                      {
                                                        (DQ 
                                                          (word_part.ArithSub
                                                            anode: 
                                                              (arith_expr.Binary
                                                                op_id: Id.Arith_Slash
                                                                left: 
                                                                  {
                                                                    (braced_var_sub
                                                                      left: 
                                                                        <Id.Left_DollarBrace '${'>
                                                                      token: 
                                                                        <Id.VSub_Name 
available_frequency_array
                                                                        >
                                                                      var_name: 
available_frequency_array
                                                                      bracket_op: 
                                                                        (bracket_op.ArrayIndex
                                                                          expr: 
                                                                            {
                                                                              ($ Id.VSub_DollarName i)
                                                                            }
                                                                        )
                                                                      right: 
                                                                        <Id.Right_DollarBrace '}'>
                                                                    )
                                                                  }
                                                                right: {<Id.Lit_Digits 1000>}
                                                              )
                                                          )
                                                        )
                                                      }
                                                      {(DQ <MHz>)}
                                                    ]
                                                  )
                                                }
                                              spids: [12345]
                                            )
                                          ]
                                          redirects: []
                                        )
                                        (command.If
                                          arms: [
                                            (if_arm
                                              cond: 
                                                (condition.Shell
                                                  commands: [
                                                    (command.Sentence
                                                      child: 
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_Great
                                                              left: 
                                                                {
                                                                  (braced_var_sub
                                                                    left: <Id.Left_DollarBrace '${'>
                                                                    token: 
                                                                      <Id.VSub_Name 
available_frequency_array
                                                                      >
                                                                    var_name: 
available_frequency_array
                                                                    bracket_op: 
                                                                      (bracket_op.ArrayIndex
                                                                        expr: 
                                                                          {($ Id.VSub_DollarName i)}
                                                                      )
                                                                    right: <Id.Right_DollarBrace '}'>
                                                                  )
                                                                }
                                                              right: 
                                                                {($ Id.VSub_DollarName max_clock)}
                                                            )
                                                          redirects: []
                                                        )
                                                      terminator: <Id.Op_Semi _>
                                                    )
                                                  ]
                                                )
                                              action: [
                                                (command.ShAssignment
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: 
                                                        (sh_lhs_expr.Name
                                                          left: <Id.Lit_VarLike 'max_clock='>
                                                          name: max_clock
                                                        )
                                                      op: assign_op.Equal
                                                      rhs: 
                                                        {
                                                          (word_part.ArithSub
                                                            anode: 
                                                              (arith_expr.Binary
                                                                op_id: Id.Arith_Slash
                                                                left: 
                                                                  {
                                                                    (braced_var_sub
                                                                      left: 
                                                                        <Id.Left_DollarBrace '${'>
                                                                      token: 
                                                                        <Id.VSub_Name 
available_frequency_array
                                                                        >
                                                                      var_name: 
available_frequency_array
                                                                      bracket_op: 
                                                                        (bracket_op.ArrayIndex
                                                                          expr: 
                                                                            {
                                                                              ($ Id.VSub_DollarName i)
                                                                            }
                                                                        )
                                                                      right: 
                                                                        <Id.Right_DollarBrace '}'>
                                                                    )
                                                                  }
                                                                right: {<Id.Lit_Digits 1000>}
                                                              )
                                                          )
                                                        }
                                                      spids: [12394]
                                                    )
                                                  ]
                                                  redirects: []
                                                )
                                              ]
                                              spids: [12371 12390]
                                            )
                                          ]
                                          else_action: []
                                          redirects: []
                                        )
                                      ]
                                    )
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'whiptail_menu_list+='>
                                          name: whiptail_menu_list
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: 
                                        {
                                          (sh_array_literal
                                            left: <Id.Op_LParen _>
                                            words: [
                                              {(DQ <Disabled>)}
                                              {(DQ <'Returns clocks to default'>)}
                                            ]
                                          )
                                        }
                                      spids: [12425]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'OPTION='>
                                          name: OPTION
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Simple
                                                words: [
                                                  {<whiptail>}
                                                  {<--title>}
                                                  {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                                  {<--menu>}
                                                  {
                                                    (DQ 
                                                      <
'Limit the maximum frequency that your processor can reach.'
                                                      > <Id.Lit_BadBackslash '\\'> <'nThis can be useful for lowering temperature and saving power.'> 
                                                      <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nCurrent setting: '> ($ Id.VSub_DollarName user_frequency_max_text)
                                                    )
                                                  }
                                                  {<--cancel-button>}
                                                  {(DQ <Back>)}
                                                  {<--backtitle>}
                                                  {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                                  {<--default-item>}
                                                  {
                                                    (DQ 
                                                      ($ Id.VSub_DollarName 
user_frequency_max_current
                                                      )
                                                    )
                                                  }
                                                  {<18>}
                                                  {<65>}
                                                  {<7>}
                                                  {
                                                    (DQ 
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name whiptail_menu_list>
                                                        var_name: whiptail_menu_list
                                                        bracket_op: 
                                                          (bracket_op.WholeArray
                                                            op_id: Id.Lit_At
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    )
                                                  }
                                                ]
                                                redirects: [
                                                  (redir
                                                    op: <Id.Redir_GreatAnd '3>&'>
                                                    loc: (redir_loc.Fd fd:3)
                                                    arg: {<1>}
                                                  )
                                                  (redir
                                                    op: <Id.Redir_GreatAnd '1>&'>
                                                    loc: (redir_loc.Fd fd:1)
                                                    arg: {<2>}
                                                  )
                                                  (redir
                                                    op: <Id.Redir_GreatAnd '2>&'>
                                                    loc: (redir_loc.Fd fd:2)
                                                    arg: {<3>}
                                                  )
                                                ]
                                                more_env: []
                                                do_fork: T
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      spids: [12442]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'CHOICE='>
                                          name: CHOICE
                                        )
                                      op: assign_op.Equal
                                      rhs: {($ Id.VSub_QMark '?')}
                                      spids: [12509]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName CHOICE)}
                                                      right: {<Id.Lit_Digits 0>}
                                                    )
                                                  redirects: []
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.If
                                          arms: [
                                            (if_arm
                                              cond: 
                                                (condition.Shell
                                                  commands: [
                                                    (command.Sentence
                                                      child: 
                                                        (C {<Id.Lit_LBracket '['>} 
                                                          {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Disabled>)} {<Id.Lit_RBracket ']'>}
                                                        )
                                                      terminator: <Id.Op_Semi _>
                                                    )
                                                  ]
                                                )
                                              action: [
                                                (C {<sed>} {<-i>} 
                                                  {
                                                    (DQ <'/CONFIG_CPU_MAX_FREQ=/c'> 
                                                      <Id.Lit_BadBackslash '\\'> <'CONFIG_CPU_MAX_FREQ='> ($ Id.VSub_DollarName max_clock)
                                                    )
                                                  } {<'/DietPi/dietpi.txt'>}
                                                )
                                                (C {<'/DietPi/dietpi/dietpi-cpu_set'>})
                                              ]
                                              spids: [12535 12552]
                                            )
                                          ]
                                          else_action: []
                                          redirects: []
                                        )
                                        (C {<sed>} {<-i>} 
                                          {
                                            (DQ <'/CONFIG_CPU_MAX_FREQ=/c'> <Id.Lit_BadBackslash '\\'> 
                                              <'CONFIG_CPU_MAX_FREQ='> ($ Id.VSub_DollarName OPTION)
                                            )
                                          } {<'/DietPi/dietpi.txt'>}
                                        )
                                        (C {<'/DietPi/dietpi/dietpi-cpu_set'>})
                                      ]
                                      spids: [12513 12527]
                                    )
                                  ]
                                  else_action: []
                                  redirects: []
                                )
                                (C {<unset>} {<whiptail_menu_list>})
                                (C {<unset>} {<available_frequency_array>})
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<4>}
                                  spids: [12623]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [12220 12224 12628 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'CPU Min Freq Limit'>) <Id.Lit_Star '*'>}]
                          action: [
                            (C {<'/DietPi/dietpi/dietpi-cpuinfo'>} {<2>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                                              {<'/tmp/dietpi-available_cpu_freqs'>} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<whiptail>} {<--title>} {(DQ <'Not Available'>)} {<--msgbox>} 
                                      {
                                        (DQ 
                                          <
'Your processor / kernel, does not support this feature.'
                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                          <'n(Info): Scaling_available_frequencies does not exist.'>
                                        )
                                      } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<10>} {<65>}
                                    )
                                  ]
                                  spids: [12646 12659]
                                )
                              ]
                              else_action: [
                                (C {<local>} 
                                  {<Id.Lit_VarLike 'whiptail_menu_list='> 
                                    (sh_array_literal
                                      left: <Id.Op_LParen _>
                                      words: []
                                    )
                                  }
                                )
                                (C {<local>} {<Id.Lit_VarLike 'min_clock='> <0>})
                                (C {<local>} 
                                  {<Id.Lit_VarLike 'available_frequency_array='> 
                                    (sh_array_literal
                                      left: <Id.Op_LParen _>
                                      words: []
                                    )
                                  }
                                )
                                (command.Simple
                                  words: [{<readarray>} {<available_frequency_array>}]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_Less '<'>
                                      loc: (redir_loc.Fd fd:0)
                                      arg: {<'/tmp/dietpi-available_cpu_freqs'>}
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                                (command.ForExpr
                                  init: 
                                    (arith_expr.BinaryAssign
                                      op_id: Id.Arith_Equal
                                      left: ($ Id.Lit_ArithVarLike i)
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  cond: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Less
                                      left: ($ Id.Lit_ArithVarLike i)
                                      right: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name available_frequency_array>
                                            var_name: available_frequency_array
                                            prefix_op: <Id.VSub_Pound '#'>
                                            bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                    )
                                  update: 
                                    (arith_expr.UnaryAssign
                                      op_id: Id.Node_PostDPlus
                                      child: ($ Id.Lit_ArithVarLike i)
                                    )
                                  body: 
                                    (command.DoGroup
                                      children: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'whiptail_menu_list+='>
                                                  name: whiptail_menu_list
                                                )
                                              op: assign_op.PlusEqual
                                              rhs: 
                                                {
                                                  (sh_array_literal
                                                    left: <Id.Op_LParen _>
                                                    words: [
                                                      {
                                                        (DQ 
                                                          (word_part.ArithSub
                                                            anode: 
                                                              (arith_expr.Binary
                                                                op_id: Id.Arith_Slash
                                                                left: 
                                                                  {
                                                                    (braced_var_sub
                                                                      left: 
                                                                        <Id.Left_DollarBrace '${'>
                                                                      token: 
                                                                        <Id.VSub_Name 
available_frequency_array
                                                                        >
                                                                      var_name: 
available_frequency_array
                                                                      bracket_op: 
                                                                        (bracket_op.ArrayIndex
                                                                          expr: 
                                                                            {
                                                                              ($ Id.VSub_DollarName i)
                                                                            }
                                                                        )
                                                                      right: 
                                                                        <Id.Right_DollarBrace '}'>
                                                                    )
                                                                  }
                                                                right: {<Id.Lit_Digits 1000>}
                                                              )
                                                          )
                                                        )
                                                      }
                                                      {(DQ <MHz>)}
                                                    ]
                                                  )
                                                }
                                              spids: [12757]
                                            )
                                          ]
                                          redirects: []
                                        )
                                      ]
                                    )
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'min_clock='>
                                          name: min_clock
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (word_part.ArithSub
                                            anode: 
                                              (arith_expr.Binary
                                                op_id: Id.Arith_Slash
                                                left: 
                                                  {
                                                    (braced_var_sub
                                                      left: <Id.Left_DollarBrace '${'>
                                                      token: <Id.VSub_Name available_frequency_array>
                                                      var_name: available_frequency_array
                                                      bracket_op: 
                                                        (bracket_op.ArrayIndex
                                                          expr: {<Id.Lit_Digits 0>}
                                                        )
                                                      right: <Id.Right_DollarBrace '}'>
                                                    )
                                                  }
                                                right: {<Id.Lit_Digits 1000>}
                                              )
                                          )
                                        }
                                      spids: [12788]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'whiptail_menu_list+='>
                                          name: whiptail_menu_list
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: 
                                        {
                                          (sh_array_literal
                                            left: <Id.Op_LParen _>
                                            words: [
                                              {(DQ <Disabled>)}
                                              {(DQ <'Returns clocks to default'>)}
                                            ]
                                          )
                                        }
                                      spids: [12811]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'OPTION='>
                                          name: OPTION
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Simple
                                                words: [
                                                  {<whiptail>}
                                                  {<--title>}
                                                  {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                                  {<--menu>}
                                                  {
                                                    (DQ 
                                                      <
'Limit the minimum frequency that your processor can reach.'
                                                      > <Id.Lit_BadBackslash '\\'> 
                                                      <
'nThis can be useful for some timing critical stuff (eg. 1-wire below 480 Mhz won\'t work).'
                                                      > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nCurrent setting: '> 
                                                      ($ Id.VSub_DollarName user_frequency_min_text)
                                                    )
                                                  }
                                                  {<--cancel-button>}
                                                  {(DQ <Back>)}
                                                  {<--backtitle>}
                                                  {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                                  {<--default-item>}
                                                  {
                                                    (DQ 
                                                      ($ Id.VSub_DollarName 
user_frequency_min_current
                                                      )
                                                    )
                                                  }
                                                  {<18>}
                                                  {<65>}
                                                  {<7>}
                                                  {
                                                    (DQ 
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name whiptail_menu_list>
                                                        var_name: whiptail_menu_list
                                                        bracket_op: 
                                                          (bracket_op.WholeArray
                                                            op_id: Id.Lit_At
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    )
                                                  }
                                                ]
                                                redirects: [
                                                  (redir
                                                    op: <Id.Redir_GreatAnd '3>&'>
                                                    loc: (redir_loc.Fd fd:3)
                                                    arg: {<1>}
                                                  )
                                                  (redir
                                                    op: <Id.Redir_GreatAnd '1>&'>
                                                    loc: (redir_loc.Fd fd:1)
                                                    arg: {<2>}
                                                  )
                                                  (redir
                                                    op: <Id.Redir_GreatAnd '2>&'>
                                                    loc: (redir_loc.Fd fd:2)
                                                    arg: {<3>}
                                                  )
                                                ]
                                                more_env: []
                                                do_fork: T
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      spids: [12828]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'CHOICE='>
                                          name: CHOICE
                                        )
                                      op: assign_op.Equal
                                      rhs: {($ Id.VSub_QMark '?')}
                                      spids: [12895]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName CHOICE)}
                                                      right: {<Id.Lit_Digits 0>}
                                                    )
                                                  redirects: []
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.If
                                          arms: [
                                            (if_arm
                                              cond: 
                                                (condition.Shell
                                                  commands: [
                                                    (command.Sentence
                                                      child: 
                                                        (C {<Id.Lit_LBracket '['>} 
                                                          {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Disabled>)} {<Id.Lit_RBracket ']'>}
                                                        )
                                                      terminator: <Id.Op_Semi _>
                                                    )
                                                  ]
                                                )
                                              action: [
                                                (C {<sed>} {<-i>} 
                                                  {
                                                    (DQ <'/CONFIG_CPU_MIN_FREQ=/c'> 
                                                      <Id.Lit_BadBackslash '\\'> <'CONFIG_CPU_MIN_FREQ='> ($ Id.VSub_DollarName min_clock)
                                                    )
                                                  } {<'/DietPi/dietpi.txt'>}
                                                )
                                                (C {<'/DietPi/dietpi/dietpi-cpu_set'>})
                                              ]
                                              spids: [12921 12938]
                                            )
                                          ]
                                          else_action: []
                                          redirects: []
                                        )
                                        (C {<sed>} {<-i>} 
                                          {
                                            (DQ <'/CONFIG_CPU_MIN_FREQ=/c'> <Id.Lit_BadBackslash '\\'> 
                                              <'CONFIG_CPU_MIN_FREQ='> ($ Id.VSub_DollarName OPTION)
                                            )
                                          } {<'/DietPi/dietpi.txt'>}
                                        )
                                        (C {<'/DietPi/dietpi/dietpi-cpu_set'>})
                                      ]
                                      spids: [12899 12913]
                                    )
                                  ]
                                  else_action: []
                                  redirects: []
                                )
                                (C {<unset>} {<whiptail_menu_list>})
                                (C {<unset>} {<available_frequency_array>})
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<4>}
                                  spids: [13009]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [12632 12636 13014 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <Overclocking>) <Id.Lit_Star '*'>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [13026]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [13018 13022 13030 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Change CPU Governor'>) <Id.Lit_Star '*'>}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                                              {(DQ ($ Id.VSub_DollarName FP_CPU_SCALING_GOV))} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<whiptail>} {<--title>} {(DQ <'Not Available'>)} {<--msgbox>} 
                                      {
                                        (DQ 
                                          <
'Your processor, or kernel, does not support this feature.'
                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                          <'n(Info): scaling_available_governors does not exist.'>
                                        )
                                      } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<10>} {<65>}
                                    )
                                  ]
                                  spids: [13046 13061]
                                )
                              ]
                              else_action: [
                                (C {<local>} 
                                  {<Id.Lit_VarLike 'Description='> (DQ <'Change CPU Governor:'>)}
                                )
                                (C {<local>} 
                                  {<Id.Lit_VarLike 'whiptail_menu_array='> 
                                    (sh_array_literal
                                      left: <Id.Op_LParen _>
                                      words: []
                                    )
                                  }
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: 
                                                        {
                                                          (command_sub
                                                            left_token: <Id.Left_DollarParen '$('>
                                                            child: 
                                                              (command.Pipeline
                                                                children: [
                                                                  (C {<cat>} 
                                                                    {
                                                                      (DQ 
                                                                        ($ Id.VSub_DollarName 
FP_CPU_SCALING_GOV
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {<grep>} {<-ci>} {<-m1>} 
                                                                    {(SQ <ondemand>)}
                                                                  )
                                                                ]
                                                                negated: F
                                                                stderr_indices: []
                                                              )
                                                            right: <Id.Eof_RParen _>
                                                          )
                                                        }
                                                      right: {<Id.Lit_Digits 1>}
                                                    )
                                                  redirects: []
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                                  name: whiptail_menu_array
                                                )
                                              op: assign_op.PlusEqual
                                              rhs: 
                                                {
                                                  (sh_array_literal
                                                    left: <Id.Op_LParen _>
                                                    words: [
                                                      {(DQ <ondemand>)}
                                                      {
                                                        (DQ <'Scales CPU frequency between '> 
                                                          ($ Id.VSub_DollarName 
frequency_min_cpu_governor
                                                          ) <' MHz and '> ($ Id.VSub_DollarName frequency_max_cpu_governor) <' MHz.'>
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [13155]
                                            )
                                          ]
                                          redirects: []
                                        )
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'Description+='>
                                                  name: Description
                                                )
                                              op: assign_op.PlusEqual
                                              rhs: 
                                                {
                                                  (DQ <Id.Lit_BadBackslash '\\'> 
                                                    <
'nOndemand     | Dynamic CPU frequency based on usage (recommended).'
                                                    >
                                                  )
                                                }
                                              spids: [13171]
                                            )
                                          ]
                                          redirects: []
                                        )
                                      ]
                                      spids: [13119 13151]
                                    )
                                  ]
                                  else_action: []
                                  redirects: []
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: 
                                                        {
                                                          (command_sub
                                                            left_token: <Id.Left_DollarParen '$('>
                                                            child: 
                                                              (command.Pipeline
                                                                children: [
                                                                  (C {<cat>} 
                                                                    {
                                                                      (DQ 
                                                                        ($ Id.VSub_DollarName 
FP_CPU_SCALING_GOV
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {<grep>} {<-ci>} {<-m1>} 
                                                                    {(SQ <interactive>)}
                                                                  )
                                                                ]
                                                                negated: F
                                                                stderr_indices: []
                                                              )
                                                            right: <Id.Eof_RParen _>
                                                          )
                                                        }
                                                      right: {<Id.Lit_Digits 1>}
                                                    )
                                                  redirects: []
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                                  name: whiptail_menu_array
                                                )
                                              op: assign_op.PlusEqual
                                              rhs: 
                                                {
                                                  (sh_array_literal
                                                    left: <Id.Op_LParen _>
                                                    words: [
                                                      {(DQ <interactive>)}
                                                      {
                                                        (DQ <'Scales CPU frequency between '> 
                                                          ($ Id.VSub_DollarName 
frequency_min_cpu_governor
                                                          ) <' MHz and '> ($ Id.VSub_DollarName frequency_max_cpu_governor) <' MHz.'>
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [13219]
                                            )
                                          ]
                                          redirects: []
                                        )
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'Description+='>
                                                  name: Description
                                                )
                                              op: assign_op.PlusEqual
                                              rhs: 
                                                {
                                                  (DQ <Id.Lit_BadBackslash '\\'> 
                                                    <
'nInteractive  | Dynamic CPU frequency based on usage.'
                                                    >
                                                  )
                                                }
                                              spids: [13235]
                                            )
                                          ]
                                          redirects: []
                                        )
                                      ]
                                      spids: [13183 13215]
                                    )
                                  ]
                                  else_action: []
                                  redirects: []
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: 
                                                        {
                                                          (command_sub
                                                            left_token: <Id.Left_DollarParen '$('>
                                                            child: 
                                                              (command.Pipeline
                                                                children: [
                                                                  (C {<cat>} 
                                                                    {
                                                                      (DQ 
                                                                        ($ Id.VSub_DollarName 
FP_CPU_SCALING_GOV
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {<grep>} {<-ci>} {<-m1>} 
                                                                    {(SQ <conservative>)}
                                                                  )
                                                                ]
                                                                negated: F
                                                                stderr_indices: []
                                                              )
                                                            right: <Id.Eof_RParen _>
                                                          )
                                                        }
                                                      right: {<Id.Lit_Digits 1>}
                                                    )
                                                  redirects: []
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                                  name: whiptail_menu_array
                                                )
                                              op: assign_op.PlusEqual
                                              rhs: 
                                                {
                                                  (sh_array_literal
                                                    left: <Id.Op_LParen _>
                                                    words: [
                                                      {(DQ <conservative>)}
                                                      {
                                                        (DQ <'Scales CPU frequency between '> 
                                                          ($ Id.VSub_DollarName 
frequency_min_cpu_governor
                                                          ) <' MHz and '> ($ Id.VSub_DollarName frequency_max_cpu_governor) <' MHz.'>
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [13283]
                                            )
                                          ]
                                          redirects: []
                                        )
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'Description+='>
                                                  name: Description
                                                )
                                              op: assign_op.PlusEqual
                                              rhs: 
                                                {
                                                  (DQ <Id.Lit_BadBackslash '\\'> 
                                                    <
'nConservative | Same as ondemand. Bias towards powersaving, slower scaling. '
                                                    >
                                                  )
                                                }
                                              spids: [13299]
                                            )
                                          ]
                                          redirects: []
                                        )
                                      ]
                                      spids: [13247 13279]
                                    )
                                  ]
                                  else_action: []
                                  redirects: []
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: 
                                                        {
                                                          (command_sub
                                                            left_token: <Id.Left_DollarParen '$('>
                                                            child: 
                                                              (command.Pipeline
                                                                children: [
                                                                  (C {<cat>} 
                                                                    {
                                                                      (DQ 
                                                                        ($ Id.VSub_DollarName 
FP_CPU_SCALING_GOV
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {<grep>} {<-ci>} {<-m1>} 
                                                                    {(SQ <powersave>)}
                                                                  )
                                                                ]
                                                                negated: F
                                                                stderr_indices: []
                                                              )
                                                            right: <Id.Eof_RParen _>
                                                          )
                                                        }
                                                      right: {<Id.Lit_Digits 1>}
                                                    )
                                                  redirects: []
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                                  name: whiptail_menu_array
                                                )
                                              op: assign_op.PlusEqual
                                              rhs: 
                                                {
                                                  (sh_array_literal
                                                    left: <Id.Op_LParen _>
                                                    words: [
                                                      {(DQ <powersave>)}
                                                      {
                                                        (DQ <'Limits CPU frequency to '> 
                                                          ($ Id.VSub_DollarName 
frequency_min_cpu_governor
                                                          ) <' MHz.'>
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [13347]
                                            )
                                          ]
                                          redirects: []
                                        )
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'Description+='>
                                                  name: Description
                                                )
                                              op: assign_op.PlusEqual
                                              rhs: 
                                                {
                                                  (DQ <Id.Lit_BadBackslash '\\'> 
                                                    <
'nPowersave    | Static. Reduces energy consumption, heat, performance.'
                                                    >
                                                  )
                                                }
                                              spids: [13361]
                                            )
                                          ]
                                          redirects: []
                                        )
                                      ]
                                      spids: [13311 13343]
                                    )
                                  ]
                                  else_action: []
                                  redirects: []
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: 
                                                        {
                                                          (command_sub
                                                            left_token: <Id.Left_DollarParen '$('>
                                                            child: 
                                                              (command.Pipeline
                                                                children: [
                                                                  (C {<cat>} 
                                                                    {
                                                                      (DQ 
                                                                        ($ Id.VSub_DollarName 
FP_CPU_SCALING_GOV
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {<grep>} {<-ci>} {<-m1>} 
                                                                    {(SQ <performance>)}
                                                                  )
                                                                ]
                                                                negated: F
                                                                stderr_indices: []
                                                              )
                                                            right: <Id.Eof_RParen _>
                                                          )
                                                        }
                                                      right: {<Id.Lit_Digits 1>}
                                                    )
                                                  redirects: []
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                                  name: whiptail_menu_array
                                                )
                                              op: assign_op.PlusEqual
                                              rhs: 
                                                {
                                                  (sh_array_literal
                                                    left: <Id.Op_LParen _>
                                                    words: [
                                                      {(DQ <performance>)}
                                                      {
                                                        (DQ <'Forces CPU frequency to '> 
                                                          ($ Id.VSub_DollarName 
frequency_max_cpu_governor
                                                          ) <' MHz.'>
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [13409]
                                            )
                                          ]
                                          redirects: []
                                        )
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'Description+='>
                                                  name: Description
                                                )
                                              op: assign_op.PlusEqual
                                              rhs: 
                                                {
                                                  (DQ <Id.Lit_BadBackslash '\\'> 
                                                    <
'nPerformance  | Static. Increases energy consumption, heat, performance.'
                                                    >
                                                  )
                                                }
                                              spids: [13423]
                                            )
                                          ]
                                          redirects: []
                                        )
                                      ]
                                      spids: [13373 13405]
                                    )
                                  ]
                                  else_action: []
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'OPTION='>
                                          name: OPTION
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Simple
                                                words: [
                                                  {<whiptail>}
                                                  {<--title>}
                                                  {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                                  {<--menu>}
                                                  {(DQ ($ Id.VSub_DollarName Description))}
                                                  {<--cancel-button>}
                                                  {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                                  {<--backtitle>}
                                                  {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                                  {<--default-item>}
                                                  {(DQ ($ Id.VSub_DollarName current_cpu_governor))}
                                                  {<18>}
                                                  {<80>}
                                                  {<5>}
                                                  {
                                                    (DQ 
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name whiptail_menu_array>
                                                        var_name: whiptail_menu_array
                                                        bracket_op: 
                                                          (bracket_op.WholeArray
                                                            op_id: Id.Lit_At
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    )
                                                  }
                                                ]
                                                redirects: [
                                                  (redir
                                                    op: <Id.Redir_GreatAnd '3>&'>
                                                    loc: (redir_loc.Fd fd:3)
                                                    arg: {<1>}
                                                  )
                                                  (redir
                                                    op: <Id.Redir_GreatAnd '1>&'>
                                                    loc: (redir_loc.Fd fd:1)
                                                    arg: {<2>}
                                                  )
                                                  (redir
                                                    op: <Id.Redir_GreatAnd '2>&'>
                                                    loc: (redir_loc.Fd fd:2)
                                                    arg: {<3>}
                                                  )
                                                ]
                                                more_env: []
                                                do_fork: T
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      spids: [13435]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'CHOICE='>
                                          name: CHOICE
                                        )
                                      op: assign_op.Equal
                                      rhs: {($ Id.VSub_QMark '?')}
                                      spids: [13495]
                                    )
                                  ]
                                  redirects: []
                                )
                                (C {<unset>} {<whiptail_menu_array>})
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName CHOICE)}
                                                      right: {<Id.Lit_Digits 0>}
                                                    )
                                                  redirects: []
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (C {<sed>} {<-i>} 
                                          {
                                            (DQ <'/CONFIG_CPU_GOVERNOR=/c'> <Id.Lit_BadBackslash '\\'> 
                                              <'CONFIG_CPU_GOVERNOR='> ($ Id.VSub_DollarName OPTION)
                                            )
                                          } {<'/DietPi/dietpi.txt'>}
                                        )
                                        (C {<'/DietPi/dietpi/dietpi-cpu_set'>})
                                      ]
                                      spids: [13510 13524]
                                    )
                                  ]
                                  else_action: []
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<4>}
                                  spids: [13558]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [13034 13038 13563 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'CPU Throttle Up'>) <Id.Lit_Star '*'>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'MIN_VALUE='>
                                      name: MIN_VALUE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<30>}
                                  spids: [13574]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'MAX_VALUE='>
                                      name: MAX_VALUE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<95>}
                                  spids: [13578]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ 
                                                  <
'When the CPU usage (%) is greater than this value, the CPU frequency will increase from '
                                                  > ($ Id.VSub_DollarName frequency_min_cpu_governor) <' MHz to '> 
                                                  ($ Id.VSub_DollarName frequency_max_cpu_governor) <' MHz.'> <Id.Lit_BadBackslash '\\'> <'n - Valid range '> ($ Id.VSub_DollarName MIN_VALUE) <' - '> 
                                                  ($ Id.VSub_DollarName MAX_VALUE) <Id.Lit_BadBackslash '\\'> <'n - Recommended settings: Desktop = 50%, Server = 85%'>
                                                )
                                              }
                                              {<10>}
                                              {<70>}
                                              {(DQ ($ Id.VSub_DollarName current_cpu_throttle_up))}
                                              {<--title>}
                                              {(DQ <'CPU Throttle Up %'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [13582]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [13628]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.AndOr
                                                      ops: [Id.Op_DAmp Id.Op_DAmp]
                                                      children: [
                                                        (command.DBracket
                                                          expr: 
                                                            (bool_expr.Binary
                                                              op_id: Id.BoolBinary_EqualTilde
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {<Id.Lit_Other '^'> <-> 
                                                                  <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                                                                }
                                                            )
                                                          redirects: []
                                                        )
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_LessEqual
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {($ Id.VSub_DollarName MAX_VALUE)}
                                                            )
                                                          redirects: []
                                                        )
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_GreatEqual
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {($ Id.VSub_DollarName MIN_VALUE)}
                                                            )
                                                          redirects: []
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<sed>} {<-i>} 
                                              {
                                                (DQ <'/CONFIG_CPU_USAGE_THROTTLE_UP=/c'> 
                                                  <Id.Lit_BadBackslash '\\'> <'CONFIG_CPU_USAGE_THROTTLE_UP='> ($ Id.VSub_DollarName OPTION)
                                                )
                                              } {<'/DietPi/dietpi.txt'>}
                                            )
                                            (C {<'/DietPi/dietpi/dietpi-cpu_set'>})
                                          ]
                                          spids: [13650 13692]
                                        )
                                      ]
                                      else_action: [(C {<Info_Input_Not_Valid_Integer>})]
                                      redirects: []
                                    )
                                  ]
                                  spids: [13632 13646]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<4>}
                                  spids: [13738]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [13566 13570 13742 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'ARM Initial Turbo'>) <Id.Lit_Star '*'>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'MIN_VALUE='>
                                      name: MIN_VALUE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                  spids: [13754]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'MAX_VALUE='>
                                      name: MAX_VALUE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<60>}
                                  spids: [13758]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ <'Activates turbo mode during boot ('> 
                                                  ($ Id.VSub_DollarName frequency_max_cpu_governor) <' MHz), for the duration of value in seconds. '> <Id.Lit_BadBackslash '\\'> 
                                                  <'n - Recommended value is 20 '> <Id.Lit_BadBackslash '\\'> <'n - Valid range '> ($ Id.VSub_DollarName MIN_VALUE) <' (disabled) - '> 
                                                  ($ Id.VSub_DollarName MAX_VALUE)
                                                )
                                              }
                                              {<12>}
                                              {<60>}
                                              {(DQ ($ Id.VSub_DollarName current_initial_turbo))}
                                              {<--title>}
                                              {(DQ <'ARM Initial Turbo Duration'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [13762]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [13806]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.AndOr
                                                      ops: [Id.Op_DAmp Id.Op_DAmp]
                                                      children: [
                                                        (command.DBracket
                                                          expr: 
                                                            (bool_expr.Binary
                                                              op_id: Id.BoolBinary_EqualTilde
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {<Id.Lit_Other '^'> <-> 
                                                                  <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                                                                }
                                                            )
                                                          redirects: []
                                                        )
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_LessEqual
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {($ Id.VSub_DollarName MAX_VALUE)}
                                                            )
                                                          redirects: []
                                                        )
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_GreatEqual
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {($ Id.VSub_DollarName MIN_VALUE)}
                                                            )
                                                          redirects: []
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<sed>} {<-i>} 
                                              {
                                                (DQ <'/initial_turbo=/c'> <Id.Lit_BadBackslash '\\'> 
                                                  <'initial_turbo='> ($ Id.VSub_DollarName OPTION)
                                                )
                                              } {<'/DietPi/config.txt'>}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                      name: REBOOT_REQUIRED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [13887]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [13828 13870]
                                        )
                                      ]
                                      else_action: [(C {<Info_Input_Not_Valid_Integer>})]
                                      redirects: []
                                    )
                                  ]
                                  spids: [13810 13824]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<4>}
                                  spids: [13912]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [13746 13750 13916 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'ARM Temp Limit'>) <Id.Lit_Star '*'>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'MIN_VALUE='>
                                      name: MIN_VALUE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<45>}
                                  spids: [13928]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'MAX_VALUE='>
                                      name: MAX_VALUE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<85>}
                                  spids: [13932]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ 
                                                  <
'When the ARM temperature (\'c) reaches this value, the ARM will underclock to reduce heat. '
                                                  > <Id.Lit_BadBackslash '\\'> <'n - Recommended value is 65  '> <Id.Lit_BadBackslash '\\'> 
                                                  <'n - Valid range '> ($ Id.VSub_DollarName MIN_VALUE) <' - '> ($ Id.VSub_DollarName MAX_VALUE)
                                                )
                                              }
                                              {<11>}
                                              {<60>}
                                              {(DQ ($ Id.VSub_DollarName current_arm_temp_limit))}
                                              {<--title>}
                                              {(DQ <'ARM Temprature Limit'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [13936]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [13978]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.AndOr
                                                      ops: [Id.Op_DAmp Id.Op_DAmp]
                                                      children: [
                                                        (command.DBracket
                                                          expr: 
                                                            (bool_expr.Binary
                                                              op_id: Id.BoolBinary_EqualTilde
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {<Id.Lit_Other '^'> <-> 
                                                                  <Id.Lit_Other '?'> <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                                                                }
                                                            )
                                                          redirects: []
                                                        )
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_LessEqual
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {($ Id.VSub_DollarName MAX_VALUE)}
                                                            )
                                                          redirects: []
                                                        )
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_GreatEqual
                                                              left: {($ Id.VSub_DollarName OPTION)}
                                                              right: 
                                                                {($ Id.VSub_DollarName MIN_VALUE)}
                                                            )
                                                          redirects: []
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_Great
                                                                  left: 
                                                                    {($ Id.VSub_DollarName OPTION)}
                                                                  right: {<Id.Lit_Digits 65>}
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (C {<whiptail>} {<--title>} 
                                                      {
                                                        (DQ <'Warning: '> 
                                                          ($ Id.VSub_DollarName OPTION) <' \'c'>
                                                        )
                                                      } {<--msgbox>} 
                                                      {
                                                        (DQ 
                                                          <
'Higher operating temperatures will reduce the life of your ARM SoC. Heat also dissipates through the PCB into other components, decreasing the lifespan of the whole device. Use at your own risk.'
                                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                                          <
'nDietPi recommends 65\'c as a safe value (75\'c for RPi 3).'
                                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                                          <
'nMore info: https://github.com/Fourdee/DietPi/issues/356'
                                                          >
                                                        )
                                                      } {<14>} {<70>}
                                                    )
                                                  ]
                                                  spids: [14046 14060]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                            (C {<sed>} {<-i>} 
                                              {
                                                (DQ <'/temp_limit=/c'> <Id.Lit_BadBackslash '\\'> 
                                                  <'temp_limit='> ($ Id.VSub_DollarName OPTION)
                                                )
                                              } {<'/DietPi/config.txt'>}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                      name: REBOOT_REQUIRED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [14112]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [14000 14042]
                                        )
                                      ]
                                      else_action: [(C {<Info_Input_Not_Valid_Integer>})]
                                      redirects: []
                                    )
                                  ]
                                  spids: [13982 13996]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<4>}
                                  spids: [14137]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [13920 13924 14141 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [11411 11425]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Change_Password
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} {<Id.Lit_VarLike 'PasswordRecieved='> <0>})
            (C {<local>} 
              {<Id.Lit_VarLike 'passw1='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Simple
                      words: [
                        {<whiptail>}
                        {<--passwordbox>}
                        {(DQ <'Please Enter Your New Password'>)}
                        {<8>}
                        {<60>}
                        {<--title>}
                        {(DQ <'Change PW'>)}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_GreatAnd '3>&'>
                          loc: (redir_loc.Fd fd:3)
                          arg: {<1>}
                        )
                        (redir
                          op: <Id.Redir_GreatAnd '1>&'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<2>}
                        )
                        (redir
                          op: <Id.Redir_GreatAnd '2>&'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<3>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [14208]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.DParen
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike PasswordRecieved)
                        )
                      redirects: []
                    )
                  ]
                  spids: [14212 14226]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'passw2='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Simple
                      words: [
                        {<whiptail>}
                        {<--passwordbox>}
                        {(DQ <'Please Confirm Your New Password'>)}
                        {<8>}
                        {<60>}
                        {<--title>}
                        {(DQ <'Confirm PW'>)}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_GreatAnd '3>&'>
                          loc: (redir_loc.Fd fd:3)
                          arg: {<1>}
                        )
                        (redir
                          op: <Id.Redir_GreatAnd '1>&'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<2>}
                        )
                        (redir
                          op: <Id.Redir_GreatAnd '2>&'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<3>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [14279]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.DParen
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike PasswordRecieved)
                        )
                      redirects: []
                    )
                  ]
                  spids: [14283 14297]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName passw1))} 
                              {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName passw2))} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'Error - Password Mismatch'>)}
                          spids: [14339]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} 
                      {
                        (DQ 
                          <
' The Passwords you have entered do not match, therefor, no changes have been applied. Please try again'
                          >
                        )
                      } {<8>} {<60>}
                    )
                  ]
                  spids: [14317 14335]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName PasswordRecieved)}
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Pipeline
                      children: [
                        (C {<echo>} {<-e>} 
                          {
                            (DQ ($ Id.VSub_DollarName passw1) <Id.Lit_BadBackslash '\\'> <n> 
                              ($ Id.VSub_DollarName passw1)
                            )
                          }
                        )
                        (C {<passwd>} {<-q>} {<root>})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'Password Applied'>)}
                          spids: [14407]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} 
                      {(DQ <' Your new password has successfully been applied.'>)} {<8>} {<60>}
                    )
                  ]
                  spids: [14369 14383]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                      op: assign_op.Equal
                      rhs: {(SQ <'Password Aborted'>)}
                      spids: [14441]
                    )
                  ]
                  redirects: []
                )
                (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} 
                  {(DQ <' Password change has been aborted. No changes have been applied'>)} {<8>} {<60>}
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Change_Hostname
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} 
              {<Id.Lit_VarLike 'hostname_existing='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<cat>} {<'/etc/hostname'>})
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--inputbox>}
                              {(DQ <'Enter Your New Hostname'>)}
                              {<8>}
                              {<60>}
                              {(DQ ($ Id.VSub_DollarName hostname_existing))}
                              {<--title>}
                              {(DQ <'Change Hostname'>)}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [14496]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [14537]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName CHOICE)}
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  redirects: []
                                )
                                (C {<Id.Lit_LBracket '['>} 
                                  {(DQ ($ Id.VSub_DollarName hostname_existing))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_RBracket ']'>}
                                )
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<'/DietPi/dietpi/func/change_hostname'>} {(DQ ($ Id.VSub_DollarName OPTION))})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                              name: REBOOT_REQUIRED
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [14583]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'Hostname Change Completed'>)}
                          spids: [14587]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
                      {
                        (DQ <'Your Hostname has been changed: '> <Id.Lit_BadBackslash '\\'> 
                          <'n - From '> ($ Id.VSub_DollarName hostname_existing) <' '> <Id.Lit_BadBackslash '\\'> <'n - To '> 
                          ($ Id.VSub_DollarName OPTION) <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                          <
'nA reboot now is highly recommended for hostname change, and, before continuing with any further changes.'
                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nWould you like to reboot now?'>
                        )
                      } {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<75>}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [14640]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<reboot>})]
                          spids: [14644 14658]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [14541 14572]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                      op: assign_op.Equal
                      rhs: {(SQ <'Hostname Change Aborted'>)}
                      spids: [14678]
                    )
                  ]
                  redirects: []
                )
                (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} 
                  {(DQ <'Hostname change has been aborted. No changes have been applied.'>)} {<8>} {<60>}
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_SecurityOptions
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [14722]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Security Options'>)}
                  spids: [14727]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {(DQ <' Lock down your DietPi Install'>)}
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<12>}
                              {<60>}
                              {<2>}
                              {(DQ <1>)}
                              {(DQ <'Change Root Password'>)}
                              {(DQ <2>)}
                              {(DQ <'Change Hostname'>)}
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [14733]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [14799]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<Change_Password>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<5>}
                                  spids: [14840]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [14820 14834]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName OPTION)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<Change_Hostname>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<5>}
                                  spids: [14864]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [14844 14858]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [14803 14817]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_GpumemoryOptions
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [14889]
                )
              ]
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'gpu_mem_current='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'ram_mem_current='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'ram_mem_total='> <0>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'gpu_mem_current='>
                              name: gpu_mem_current
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<grep>} {<-m1>} {(SQ <'gpu_mem_256='>)} 
                                        {<'/DietPi/config.txt'>}
                                      )
                                      (C {<sed>} {(SQ <'s/.*=//'>)})
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [14934]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ram_mem_current='>
                              name: ram_mem_current
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Minus
                                    left: {<Id.Lit_Digits 256>}
                                    right: ($ Id.Lit_ArithVarLike gpu_mem_current)
                                  )
                              )
                            }
                          spids: [14956]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ram_mem_total='>
                              name: ram_mem_total
                            )
                          op: assign_op.Equal
                          rhs: {<256>}
                          spids: [14965]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [14917 14931]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'gpu_mem_current='>
                              name: gpu_mem_current
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<grep>} {<-m1>} {(SQ <'gpu_mem_512='>)} 
                                        {<'/DietPi/config.txt'>}
                                      )
                                      (C {<sed>} {(SQ <'s/.*=//'>)})
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [14986]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ram_mem_current='>
                              name: ram_mem_current
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Minus
                                    left: {<Id.Lit_Digits 512>}
                                    right: ($ Id.Lit_ArithVarLike gpu_mem_current)
                                  )
                              )
                            }
                          spids: [15008]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ram_mem_total='>
                              name: ram_mem_total
                            )
                          op: assign_op.Equal
                          rhs: {<512>}
                          spids: [15017]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [14969 14983]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                      right: {<Id.Lit_Digits 2>}
                                    )
                                  redirects: []
                                )
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                      right: {<Id.Lit_Digits 3>}
                                    )
                                  redirects: []
                                )
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'gpu_mem_current='>
                              name: gpu_mem_current
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<grep>} {<-m1>} {(SQ <'gpu_mem_1024='>)} 
                                        {<'/DietPi/config.txt'>}
                                      )
                                      (C {<sed>} {(SQ <'s/.*=//'>)})
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [15051]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ram_mem_current='>
                              name: ram_mem_current
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Minus
                                    left: {<Id.Lit_Digits 1024>}
                                    right: ($ Id.Lit_ArithVarLike gpu_mem_current)
                                  )
                              )
                            }
                          spids: [15073]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ram_mem_total='>
                              name: ram_mem_total
                            )
                          op: assign_op.Equal
                          rhs: {<1024>}
                          spids: [15082]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [15021 15048]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 10>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ram_mem_current='>
                              name: ram_mem_current
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<free>} {<-m>})
                                      (C {<grep>} {<-m1>} {(SQ <'Mem:'>)})
                                      (C {<awk>} {(SQ <'{print $2}'>)})
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [15103]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'gpu_mem_current='>
                              name: gpu_mem_current
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Minus
                                    left: {<Id.Lit_Digits 1024>}
                                    right: ($ Id.Lit_ArithVarLike ram_mem_current)
                                  )
                              )
                            }
                          spids: [15129]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [15086 15100]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 12>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ram_mem_current='>
                              name: ram_mem_current
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<free>} {<-m>})
                                      (C {<grep>} {<-m1>} {(SQ <'Mem:'>)})
                                      (C {<awk>} {(SQ <'{print $2}'>)})
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [15155]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'gpu_mem_current='>
                              name: gpu_mem_current
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Minus
                                    left: {<Id.Lit_Digits 2048>}
                                    right: ($ Id.Lit_ArithVarLike ram_mem_current)
                                  )
                              )
                            }
                          spids: [15181]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [15138 15152]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - GPU/RAM Split'>)}
                  spids: [15194]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 10>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} {<-a>} 
                      {<Id.Lit_VarLike 'option_name='> 
                        (sh_array_literal
                          left: <Id.Op_LParen _>
                          words: [{(DQ <Server>)} {(DQ <Desktop>)} {(DQ <Kodi>)} {(DQ <Gaming>)}]
                        )
                      }
                    )
                    (C {<local>} {<-i>} 
                      {<Id.Lit_VarLike 'available_gpu_values='> 
                        (sh_array_literal
                          left: <Id.Op_LParen _>
                          words: [{<16>} {<64>} {<128>} {<128>}]
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [
                                {<echo>}
                                {<-e>}
                                {(DQ <'As above, array is defaulted to RPi1 - 256mb'>)}
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_AndGreat '&>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [15287 15301]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'available_gpu_values['>
                                      name: available_gpu_values
                                      index: {<Id.Lit_Digits 2>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<128>}
                                  spids: [15334]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'available_gpu_values['>
                                      name: available_gpu_values
                                      index: {<Id.Lit_Digits 3>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<192>}
                                  spids: [15342]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [15317 15331]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 2>}
                                            )
                                          redirects: []
                                        )
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 3>}
                                            )
                                          redirects: []
                                        )
                                      ]
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'available_gpu_values['>
                                      name: available_gpu_values
                                      index: {<Id.Lit_Digits 1>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<128>}
                                  spids: [15380]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'available_gpu_values['>
                                      name: available_gpu_values
                                      index: {<Id.Lit_Digits 2>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<192>}
                                  spids: [15388]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'available_gpu_values['>
                                      name: available_gpu_values
                                      index: {<Id.Lit_Digits 3>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<256>}
                                  spids: [15396]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [15350 15377]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'option_output_text='> 
                        (sh_array_literal left:<Id.Op_LParen _> words:[])
                      }
                    )
                    (command.ForExpr
                      init: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {<Id.Lit_Digits 0>}
                        )
                      cond: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Less
                          left: ($ Id.Lit_ArithVarLike i)
                          right: 
                            {
                              (braced_var_sub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Name option_name>
                                var_name: option_name
                                prefix_op: <Id.VSub_Pound '#'>
                                bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                right: <Id.Right_DollarBrace '}'>
                              )
                            }
                        )
                      update: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike i)
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'option_output_text+='>
                                      name: option_output_text
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {
                                            (DQ 
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name option_name>
                                                var_name: option_name
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            )
                                          }
                                          {
                                            (DQ 
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name available_gpu_values>
                                                var_name: available_gpu_values
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              ) <' MB GPU | '> 
                                              (word_part.ArithSub
                                                anode: 
                                                  (arith_expr.Binary
                                                    op_id: Id.Arith_Minus
                                                    left: ($ Id.Lit_ArithVarLike ram_mem_total)
                                                    right: 
                                                      {
                                                        (braced_var_sub
                                                          left: <Id.Left_DollarBrace '${'>
                                                          token: <Id.VSub_Name available_gpu_values>
                                                          var_name: available_gpu_values
                                                          bracket_op: 
                                                            (bracket_op.ArrayIndex
                                                              expr: {($ Id.VSub_DollarName i)}
                                                            )
                                                          right: <Id.Right_DollarBrace '}'>
                                                        )
                                                      }
                                                  )
                                              ) <' MB RAM'>
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [15447]
                                )
                              ]
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--title>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                      {<--menu>}
                                      {
                                        (DQ <' Hardware : '> 
                                          ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <' '> <Id.Lit_BadBackslash '\\'> <'n Current: '> ($ Id.VSub_DollarName gpu_mem_current) <' MB GPU | '> 
                                          ($ Id.VSub_DollarName ram_mem_current) <' MB RAM'>
                                        )
                                      }
                                      {<--cancel-button>}
                                      {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                      {<--backtitle>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                      {<14>}
                                      {<75>}
                                      {<4>}
                                      {
                                        (DQ 
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name option_output_text>
                                            var_name: option_output_text
                                            bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [15488]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [15550]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ForExpr
                              init: 
                                (arith_expr.BinaryAssign
                                  op_id: Id.Arith_Equal
                                  left: ($ Id.Lit_ArithVarLike i)
                                  right: {<Id.Lit_Digits 0>}
                                )
                              cond: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: ($ Id.Lit_ArithVarLike i)
                                  right: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name option_name>
                                        var_name: option_name
                                        prefix_op: <Id.VSub_Pound '#'>
                                        bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                )
                              update: 
                                (arith_expr.UnaryAssign
                                  op_id: Id.Node_PostDPlus
                                  child: ($ Id.Lit_ArithVarLike i)
                                )
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<Id.Lit_LBracket '['>} 
                                                      {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} 
                                                      {
                                                        (DQ 
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: <Id.VSub_Name option_name>
                                                            var_name: option_name
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName i)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        )
                                                      } {<Id.Lit_RBracket ']'>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<local>} 
                                              {<Id.Lit_VarLike 'temp_index='> 
                                                ($ Id.VSub_DollarName i)
                                              }
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Break break>
                                            )
                                          ]
                                          spids: [15604 15626]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                )
                              redirects: []
                            )
                            (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<gpumemsplit>} 
                              {
                                (braced_var_sub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name available_gpu_values>
                                  var_name: available_gpu_values
                                  bracket_op: 
                                    (bracket_op.ArrayIndex
                                      expr: {($ Id.VSub_DollarName temp_index)}
                                    )
                                  right: <Id.Right_DollarBrace '}'>
                                )
                              }
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [15663]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<6>}
                                  spids: [15671]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [15554 15568]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<unset>} {<option_output_text>})
                    (C {<unset>} {<option_name>})
                    (C {<unset>} {<available_gpu_values>})
                  ]
                  spids: [15205 15219]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 10>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'display_output_enabled='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/boot.ini'>})
                                (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^setenv hdmioutput "1"'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'display_vpu_enabled='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/boot.ini'>})
                                (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^setenv vpu "1"'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} {<Id.Lit_VarLike 'display_output_text='> (DQ <Enabled>)})
                    (C {<local>} {<Id.Lit_VarLike 'display_vpu_text='> (DQ <Enabled>)})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName display_output_enabled)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'display_output_text='>
                                      name: display_output_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <Disabled>)}
                                  spids: [15803]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [15786 15800]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName display_vpu_enabled)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'display_vpu_text='>
                                      name: display_vpu_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <Disabled>)}
                                  spids: [15829]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [15812 15826]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--title>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                      {<--menu>}
                                      {
                                        (DQ <' Hardware : '> 
                                          ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <' '> <Id.Lit_BadBackslash '\\'> <'n Current  : HDMI: '> ($ Id.VSub_DollarName display_output_text) 
                                          <' | VPU: '> ($ Id.VSub_DollarName display_vpu_text) <' '> <Id.Lit_BadBackslash '\\'> <'n Memory   : '> 
                                          ($ Id.VSub_DollarName gpu_mem_current) <' MB GPU | '> ($ Id.VSub_DollarName ram_mem_current) <' MB RAM '> <Id.Lit_BadBackslash '\\'> 
                                          <
'n NB: GPU/RAM figures require a reboot after a change is made.'
                                          >
                                        )
                                      }
                                      {<--cancel-button>}
                                      {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                      {<--backtitle>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                      {<15>}
                                      {<70>}
                                      {<3>}
                                      {(DQ <Headless>)}
                                      {(DQ <'HDMI: Disabled | VPU: Disabled'>)}
                                      {(DQ <Server>)}
                                      {(DQ <'HDMI: Enabled  | VPU: Disabled'>)}
                                      {(DQ <Desktop>)}
                                      {(DQ <'HDMI: Enabled  | VPU: Enabled'>)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [15839]
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{<Headless>}]
                          action: [
                            (C {<sed>} {<-i>} {(SQ <'/setenv hdmioutput /c\\setenv hdmioutput "0"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                            (C {<sed>} {<-i>} {(SQ <'/setenv vpu /c\\setenv vpu "0"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [15966]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<6>}
                                  spids: [15974]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [15940 15941 15978 -1]
                        )
                        (case_arm
                          pat_list: [{<Server>}]
                          action: [
                            (C {<sed>} {<-i>} {(SQ <'/setenv hdmioutput /c\\setenv hdmioutput "1"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                            (C {<sed>} {<-i>} {(SQ <'/setenv vpu /c\\setenv vpu "0"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [16007]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<6>}
                                  spids: [16015]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [15981 15982 16019 -1]
                        )
                        (case_arm
                          pat_list: [{<Desktop>}]
                          action: [
                            (C {<sed>} {<-i>} {(SQ <'/setenv hdmioutput /c\\setenv hdmioutput "1"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                            (C {<sed>} {<-i>} {(SQ <'/setenv vpu /c\\setenv vpu "1"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [16048]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<6>}
                                  spids: [16056]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [16022 16023 16060 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [15703 15717]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 12>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'display_output_enabled='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/boot.ini'>})
                                (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^setenv nographics "0"'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} {<Id.Lit_VarLike 'display_output_text='> (DQ <Enabled>)})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName display_output_enabled)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'display_output_text='>
                                      name: display_output_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <Disabled>)}
                                  spids: [16141]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [16124 16138]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--title>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                      {<--menu>}
                                      {
                                        (DQ <' Hardware : '> 
                                          ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <' '> <Id.Lit_BadBackslash '\\'> <'n Current  : HDMI: '> ($ Id.VSub_DollarName display_output_text) 
                                          <' | VPU: '> ($ Id.VSub_DollarName display_output_text) <' '> <Id.Lit_BadBackslash '\\'> <'n Memory   : '> 
                                          ($ Id.VSub_DollarName gpu_mem_current) <' MB GPU | '> ($ Id.VSub_DollarName ram_mem_current) <' MB RAM '> <Id.Lit_BadBackslash '\\'> 
                                          <
'n NB: GPU/RAM figures require a reboot after a change is made.'
                                          >
                                        )
                                      }
                                      {<--cancel-button>}
                                      {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                      {<--backtitle>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                      {<14>}
                                      {<70>}
                                      {<2>}
                                      {(DQ <Headless>)}
                                      {(DQ <'HDMI: Disabled | VPU: Disabled | +300MB RAM'>)}
                                      {(DQ <Default>)}
                                      {(DQ <'HDMI: Enabled  | VPU: Enabled | -300MB RAM'>)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [16151]
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{<Headless>}]
                          action: [
                            (C {<sed>} {<-i>} {(SQ <'/setenv nographics /c\\setenv nographics "1"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [16257]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<6>}
                                  spids: [16265]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [16242 16243 16269 -1]
                        )
                        (case_arm
                          pat_list: [{<Default>}]
                          action: [
                            (C {<sed>} {<-i>} {(SQ <'/setenv nographics /c\\setenv nographics "0"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [16287]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<6>}
                                  spids: [16295]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [16272 16273 16299 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [16071 16085]
                )
              ]
              else_action: [(C {<Info_HW_OptionNotSupported>})]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_LanguageOptions
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [16330]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Language and Regional Options'>)}
                  spids: [16335]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {(DQ <'Please select an option:'>)}
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<12>}
                              {<60>}
                              {<3>}
                              {(DQ <Locale>)}
                              {(DQ <'Change Language and Regional Settings'>)}
                              {(DQ <Timezone>)}
                              {(DQ <'Change Timezone Location Setting'>)}
                              {(DQ <Keyboard>)}
                              {(DQ <'Change Keyboard Layout Setting'>)}
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [16341]
                )
              ]
              redirects: []
            )
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
              arms: [
                (case_arm
                  pat_list: [{<Locale>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                              name: REBOOT_REQUIRED
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16431]
                        )
                      ]
                      redirects: []
                    )
                    (C {<dpkg-reconfigure>} {<locales>})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'locale_new='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<grep>} {<-m1>} {(SQ <'^LANG='>)} {<'/etc/default/locale'>})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-z>} 
                                      {(DQ ($ Id.VSub_DollarName locale_new))} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'locale_new='>
                                      name: locale_new
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <en_GB.UTF-8>)}
                                  spids: [16488]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [16471 16484]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<'/DietPi/dietpi/func/dietpi-set_software'>} {<locale>} 
                      {(DQ ($ Id.VSub_DollarName locale_new))}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                              name: TARGETMENUID
                            )
                          op: assign_op.Equal
                          rhs: {<7>}
                          spids: [16517]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [16426 16427 16522 -1]
                )
                (case_arm
                  pat_list: [{<Timezone>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                              name: REBOOT_REQUIRED
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16531]
                        )
                      ]
                      redirects: []
                    )
                    (C {<dpkg-reconfigure>} {<tzdata>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                              name: TARGETMENUID
                            )
                          op: assign_op.Equal
                          rhs: {<7>}
                          spids: [16545]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [16526 16527 16550 -1]
                )
                (case_arm
                  pat_list: [{<Keyboard>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                              name: REBOOT_REQUIRED
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16559]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ <'DietPi keyboard-configuration'>)} {<--msgbox>} 
                      {
                        (DQ 
                          <
'NB: A keyboard must be physically plugged into the system, before its configuration can be changed.'
                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                          <
'nIf a keyboard is plugged in, please ignore this message. If not, plug one in ;)'
                          >
                        )
                      } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<12>} {<65>}
                    )
                    (C {<dpkg-reconfigure>} {<keyboard-configuration>})
                    (C {<invoke-rc.d>} {<keyboard-setup>} {<start>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                              name: TARGETMENUID
                            )
                          op: assign_op.Equal
                          rhs: {<7>}
                          spids: [16614]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [16554 16555 16619 -1]
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_IP_STATIC='> name:ETH_IP_STATIC)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16631]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_GATEWAY_STATIC='> name:ETH_GATEWAY_STATIC)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16637]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_MASK_STATIC='> name:ETH_MASK_STATIC)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16643]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_DNS_STATIC='> name:ETH_DNS_STATIC)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16649]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_INDEX='> name:ETH_INDEX)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [16656]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_DISABLED='> name:ETH_DISABLED)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [16660]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_HARDWARE='> name:ETH_HARDWARE)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [16664]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_CONNECTED='> name:ETH_CONNECTED)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [16668]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_IP='> name:ETH_IP)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16672]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_GATEWAY='> name:ETH_GATEWAY)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16678]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_MASK='> name:ETH_MASK)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16684]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_DNS='> name:ETH_DNS)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16690]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_MODE='> name:ETH_MODE)
          op: assign_op.Equal
          rhs: {<1>}
          spids: [16696]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_MODE_TARGET='> name:ETH_MODE_TARGET)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [16703]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_IP_STATIC='> name:WIFI_IP_STATIC)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16708]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'WIFI_GATEWAY_STATIC='>
              name: WIFI_GATEWAY_STATIC
            )
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16714]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_MASK_STATIC='> name:WIFI_MASK_STATIC)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16720]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_DNS_STATIC='> name:WIFI_DNS_STATIC)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16726]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_INDEX='> name:WIFI_INDEX)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [16733]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_DISABLED='> name:WIFI_DISABLED)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [16737]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_HARDWARE='> name:WIFI_HARDWARE)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [16741]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_CONNECTED='> name:WIFI_CONNECTED)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [16745]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_IP='> name:WIFI_IP)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16749]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_GATEWAY='> name:WIFI_GATEWAY)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16755]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_MASK='> name:WIFI_MASK)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16761]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_DNS='> name:WIFI_DNS)
          op: assign_op.Equal
          rhs: {(DQ <0.0.0.0>)}
          spids: [16767]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_MODE='> name:WIFI_MODE)
          op: assign_op.Equal
          rhs: {<1>}
          spids: [16773]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_MODE_TARGET='> name:WIFI_MODE_TARGET)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [16780]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_SSID='> name:WIFI_SSID)
          op: assign_op.Equal
          rhs: {(DQ <WifiSSID>)}
          spids: [16784]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_KEY='> name:WIFI_KEY)
          op: assign_op.Equal
          rhs: {(DQ <WifiKey>)}
          spids: [16790]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_BITRATE='> name:WIFI_BITRATE)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [16796]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'WIFI_SIGNALSTRENGTH='>
              name: WIFI_SIGNALSTRENGTH
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [16800]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_HOTSPOT='> name:WIFI_HOTSPOT)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [16804]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_COUNTRYCODE='> name:WIFI_COUNTRYCODE)
          op: assign_op.Equal
          rhs: {(DQ <Unknown>)}
          spids: [16808]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'WIFI_AUTO_RECONNECT_ACTIVE='>
              name: WIFI_AUTO_RECONNECT_ACTIVE
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [16814]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: Network_ETH_CopyCurrentToStatic
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ETH_CONNECTED)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ETH_IP_STATIC='>
                              name: ETH_IP_STATIC
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName ETH_IP)}
                          spids: [16847]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ETH_GATEWAY_STATIC='>
                              name: ETH_GATEWAY_STATIC
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName ETH_GATEWAY)}
                          spids: [16851]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ETH_MASK_STATIC='>
                              name: ETH_MASK_STATIC
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName ETH_MASK)}
                          spids: [16855]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ETH_DNS_STATIC='>
                              name: ETH_DNS_STATIC
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName ETH_DNS)}
                          spids: [16859]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [16830 16844]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Network_WIFI_CopyCurrentToStatic
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName WIFI_CONNECTED)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WIFI_IP_STATIC='>
                              name: WIFI_IP_STATIC
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName WIFI_IP)}
                          spids: [16898]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WIFI_GATEWAY_STATIC='>
                              name: WIFI_GATEWAY_STATIC
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName WIFI_GATEWAY)}
                          spids: [16902]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WIFI_MASK_STATIC='>
                              name: WIFI_MASK_STATIC
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName WIFI_MASK)}
                          spids: [16906]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WIFI_DNS_STATIC='>
                              name: WIFI_DNS_STATIC
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName WIFI_DNS)}
                          spids: [16910]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [16881 16895]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Network_Restart
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<'/DietPi/dietpi/dietpi-services'>} {<stop>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName WIFI_DISABLED)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<wifimodules>} {<enable>})]
                  spids: [16946 16960]
                )
              ]
              else_action: [
                (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<wifimodules>} {<disable>})
              ]
              redirects: []
            )
            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Dropping connections, please wait...'>)})
            (command.Simple
              words: [{<ifdown>} {<eth> ($ Id.VSub_DollarName ETH_INDEX)}]
              redirects: [
                (redir
                  op: <Id.Redir_AndGreat '&>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<ifdown>} {<wlan> ($ Id.VSub_DollarName WIFI_INDEX)}]
              redirects: [
                (redir
                  op: <Id.Redir_AndGreat '&>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<killall>} {<dhclient>}]
              redirects: [
                (redir
                  op: <Id.Redir_AndGreat '&>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'Restarting networking services, please wait...'>)})
            (C {<systemctl>} {<daemon-reload>})
            (C {<systemctl>} {<restart>} {<networking>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ETH_DISABLED)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<ifup>} {<eth> ($ Id.VSub_DollarName ETH_INDEX)})]
                  spids: [17079 17093]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName WIFI_DISABLED)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<ifup>} {<wlan> ($ Id.VSub_DollarName WIFI_INDEX)})
                    (C {<systemctl>} {<restart>} {<wifi_disable_powersave>})
                  ]
                  spids: [17108 17122]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<'/DietPi/dietpi/dietpi-services'>} {<start>})
            (C {<Network_GetData>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Network_ApplyChanges
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<sed>} {<-i>} 
              {
                (DQ <'/allow-hotplug eth/c'> <Id.Lit_BadBackslash '\\'> <'#allow-hotplug eth'> 
                  ($ Id.VSub_DollarName ETH_INDEX)
                )
              } {<'/etc/network/interfaces'>}
            )
            (C {<sed>} {<-i>} 
              {
                (DQ <'/allow-hotplug wlan/c'> <Id.Lit_BadBackslash '\\'> <'#allow-hotplug wlan'> 
                  ($ Id.VSub_DollarName WIFI_INDEX)
                )
              } {<'/etc/network/interfaces'>}
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ETH_DISABLED)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/allow-hotplug eth/c'> <Id.Lit_BadBackslash '\\'> <'allow-hotplug eth'> 
                          ($ Id.VSub_DollarName ETH_INDEX)
                        )
                      } {<'/etc/network/interfaces'>}
                    )
                  ]
                  spids: [17215 17229]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName WIFI_DISABLED)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/allow-hotplug wlan/c'> <Id.Lit_BadBackslash '\\'> <'allow-hotplug wlan'> 
                          ($ Id.VSub_DollarName WIFI_INDEX)
                        )
                      } {<'/etc/network/interfaces'>}
                    )
                  ]
                  spids: [17252 17266]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ETH_MODE_TARGET)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/iface eth/c'> <Id.Lit_BadBackslash '\\'> <'iface eth'> 
                          ($ Id.VSub_DollarName ETH_INDEX) <' inet static'>
                        )
                      } {<'/etc/network/interfaces'>}
                    )
                  ]
                  spids: [17297 17311]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ETH_MODE_TARGET)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/iface eth/c'> <Id.Lit_BadBackslash '\\'> <'iface eth'> 
                          ($ Id.VSub_DollarName ETH_INDEX) <' inet dhcp'>
                        )
                      } {<'/etc/network/interfaces'>}
                    )
                  ]
                  spids: [17335 17349]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_MODE='> name:ETH_MODE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName ETH_MODE_TARGET)}
                  spids: [17380]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName WIFI_MODE_TARGET)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/iface wlan/c'> <Id.Lit_BadBackslash '\\'> <'iface wlan'> 
                          ($ Id.VSub_DollarName WIFI_INDEX) <' inet static'>
                        )
                      } {<'/etc/network/interfaces'>}
                    )
                  ]
                  spids: [17389 17403]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName WIFI_MODE_TARGET)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/iface wlan/c'> <Id.Lit_BadBackslash '\\'> <'iface wlan'> 
                          ($ Id.VSub_DollarName WIFI_INDEX) <' inet dhcp'>
                        )
                      } {<'/etc/network/interfaces'>}
                    )
                  ]
                  spids: [17427 17441]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_MODE='> name:WIFI_MODE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName WIFI_MODE_TARGET)}
                  spids: [17473]
                )
              ]
              redirects: []
            )
            (C {<sed>} {<-i>} {(SQ <'s/^dns-nameservers/#dns-nameservers/g'>)} 
              {<'/etc/network/interfaces'>}
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName ETH_DISABLED)}
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  redirects: []
                                )
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName ETH_MODE)}
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  redirects: []
                                )
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sed>} {<-i>} 
                      {
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<cat>} {<-n>} {<'/etc/network/interfaces'>})
                                  (C {<grep>} {(SQ <'dns-nameservers '>)})
                                  (C {<sed>} {<-n>} {<1p>})
                                  (C {<awk>} {(SQ <'{print $1}'>)})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          ) <'s/^#dns-nameservers/dns-nameservers/g'>
                        )
                      } {<'/etc/network/interfaces'>}
                    )
                  ]
                  spids: [17501 17528]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (command.DParen
                                  child: 
                                    (arith_expr.Unary
                                      op_id: Id.Arith_Bang
                                      child: {($ Id.VSub_DollarName WIFI_DISABLED)}
                                    )
                                  redirects: []
                                )
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName WIFI_MODE)}
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  redirects: []
                                )
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sed>} {<-i>} 
                      {
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<cat>} {<-n>} {<'/etc/network/interfaces'>})
                                  (C {<grep>} {(SQ <'dns-nameservers '>)})
                                  (C {<sed>} {<-n>} {<2p>})
                                  (C {<awk>} {(SQ <'{print $1}'>)})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          ) <'s/^#dns-nameservers/dns-nameservers/g'>
                        )
                      } {<'/etc/network/interfaces'>}
                    )
                  ]
                  spids: [17582 17607]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<sed>} {<-i>} 
              {
                (DQ 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Pipeline
                        children: [
                          (C {<cat>} {<-n>} {<'/etc/network/interfaces'>})
                          (C {<grep>} {(SQ <'address '>)})
                          (C {<sed>} {<-n>} {<1p>})
                          (C {<awk>} {(SQ <'{print $1}'>)})
                        ]
                        negated: F
                        stderr_indices: []
                      )
                    right: <Id.Eof_RParen _>
                  ) <'s/address.*/address '> ($ Id.VSub_DollarName ETH_IP_STATIC) <'/'>
                )
              } {<'/etc/network/interfaces'>}
            )
            (C {<sed>} {<-i>} 
              {
                (DQ 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Pipeline
                        children: [
                          (C {<cat>} {<-n>} {<'/etc/network/interfaces'>})
                          (C {<grep>} {(SQ <'gateway '>)})
                          (C {<sed>} {<-n>} {<1p>})
                          (C {<awk>} {(SQ <'{print $1}'>)})
                        ]
                        negated: F
                        stderr_indices: []
                      )
                    right: <Id.Eof_RParen _>
                  ) <'s/gateway.*/gateway '> ($ Id.VSub_DollarName ETH_GATEWAY_STATIC) <'/'>
                )
              } {<'/etc/network/interfaces'>}
            )
            (C {<sed>} {<-i>} 
              {
                (DQ 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Pipeline
                        children: [
                          (C {<cat>} {<-n>} {<'/etc/network/interfaces'>})
                          (C {<grep>} {(SQ <'netmask '>)})
                          (C {<sed>} {<-n>} {<1p>})
                          (C {<awk>} {(SQ <'{print $1}'>)})
                        ]
                        negated: F
                        stderr_indices: []
                      )
                    right: <Id.Eof_RParen _>
                  ) <'s/netmask.*/netmask '> ($ Id.VSub_DollarName ETH_MASK_STATIC) <'/'>
                )
              } {<'/etc/network/interfaces'>}
            )
            (C {<sed>} {<-i>} 
              {
                (DQ 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Pipeline
                        children: [
                          (C {<cat>} {<-n>} {<'/etc/network/interfaces'>})
                          (C {<grep>} {(SQ <'dns-nameservers '>)})
                          (C {<sed>} {<-n>} {<1p>})
                          (C {<awk>} {(SQ <'{print $1}'>)})
                        ]
                        negated: F
                        stderr_indices: []
                      )
                    right: <Id.Eof_RParen _>
                  ) <'s/dns-nameservers.*/dns-nameservers '> ($ Id.VSub_DollarName ETH_DNS_STATIC) <'/'>
                )
              } {<'/etc/network/interfaces'>}
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName WIFI_HOTSPOT)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sed>} {<-i>} 
                      {
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<cat>} {<-n>} {<'/etc/network/interfaces'>})
                                  (C {<grep>} {(SQ <'address '>)})
                                  (C {<sed>} {<-n>} {<2p>})
                                  (C {<awk>} {(SQ <'{print $1}'>)})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          ) <'s/address.*/address '> ($ Id.VSub_DollarName WIFI_IP_STATIC) <'/'>
                        )
                      } {<'/etc/network/interfaces'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<cat>} {<-n>} {<'/etc/network/interfaces'>})
                                  (C {<grep>} {(SQ <'gateway '>)})
                                  (C {<sed>} {<-n>} {<2p>})
                                  (C {<awk>} {(SQ <'{print $1}'>)})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          ) <'s/gateway.*/gateway '> ($ Id.VSub_DollarName WIFI_GATEWAY_STATIC) <'/'>
                        )
                      } {<'/etc/network/interfaces'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<cat>} {<-n>} {<'/etc/network/interfaces'>})
                                  (C {<grep>} {(SQ <'netmask '>)})
                                  (C {<sed>} {<-n>} {<2p>})
                                  (C {<awk>} {(SQ <'{print $1}'>)})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          ) <'s/netmask.*/netmask '> ($ Id.VSub_DollarName WIFI_MASK_STATIC) <'/'>
                        )
                      } {<'/etc/network/interfaces'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<cat>} {<-n>} {<'/etc/network/interfaces'>})
                                  (C {<grep>} {(SQ <'dns-nameservers '>)})
                                  (C {<sed>} {<-n>} {<2p>})
                                  (C {<awk>} {(SQ <'{print $1}'>)})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          ) <'s/dns-nameservers.*/dns-nameservers '> ($ Id.VSub_DollarName WIFI_DNS_STATIC) <'/'>
                        )
                      } {<'/etc/network/interfaces'>}
                    )
                  ]
                  spids: [17846 17860]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName WIFI_HOTSPOT)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/^AUTO_SETUP_NET_WIFI_SSID=/c'> <Id.Lit_BadBackslash '\\'> 
                          <'AUTO_SETUP_NET_WIFI_SSID='> ($ Id.VSub_DollarName WIFI_SSID)
                        )
                      } {<'/DietPi/dietpi.txt'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/^AUTO_SETUP_NET_WIFI_KEY=/c'> <Id.Lit_BadBackslash '\\'> 
                          <'AUTO_SETUP_NET_WIFI_KEY='> ($ Id.VSub_DollarName WIFI_KEY)
                        )
                      } {<'/DietPi/dietpi.txt'>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-z>} 
                                      {(DQ ($ Id.VSub_DollarName WIFI_KEY))} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} 
                              {
                                (SQ 
                                  <
'/AUTO_SETUP_NET_WIFI_KEYMGR=/c\\AUTO_SETUP_NET_WIFI_KEYMGR=NONE'
                                  >
                                )
                              } {<'/DietPi/dietpi.txt'>}
                            )
                          ]
                          spids: [18104 18117]
                        )
                      ]
                      else_action: [
                        (C {<sed>} {<-i>} 
                          {
                            (SQ 
                              <'/AUTO_SETUP_NET_WIFI_KEYMGR=/c\\AUTO_SETUP_NET_WIFI_KEYMGR=WPA-PSK'>
                            )
                          } {<'/DietPi/dietpi.txt'>}
                        )
                      ]
                      redirects: []
                    )
                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<wificreds>} {<set>})
                  ]
                  spids: [18049 18063]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<Network_Restart>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Change_StaticIp
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--inputbox>}
                                      {(DQ <'Enter Your New Ip Address'>)}
                                      {<8>}
                                      {<60>}
                                      {(DQ ($ Id.VSub_DollarName ETH_IP_STATIC))}
                                      {<--title>}
                                      {(DQ <'Set Static Ip Address'>)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [18222]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [18257]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'ETH_IP_STATIC='>
                                      name: ETH_IP_STATIC
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName OPTION)}
                                  spids: [18278]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [18261 18275]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [18205 18219]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--inputbox>}
                                      {(DQ <'Enter Your New Ip Address'>)}
                                      {<8>}
                                      {<60>}
                                      {(DQ ($ Id.VSub_DollarName WIFI_IP_STATIC))}
                                      {<--title>}
                                      {(DQ <'Set Static Ip Address'>)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [18306]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [18341]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WIFI_IP_STATIC='>
                                      name: WIFI_IP_STATIC
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName OPTION)}
                                  spids: [18362]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [18345 18359]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [18289 18303]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Change_StaticGateway
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--inputbox>}
                                      {(DQ <'Enter Your New Gateway Address'>)}
                                      {<8>}
                                      {<60>}
                                      {(DQ ($ Id.VSub_DollarName ETH_GATEWAY_STATIC))}
                                      {<--title>}
                                      {(DQ <'Set Static Gateway Address'>)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [18403]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [18438]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'ETH_GATEWAY_STATIC='>
                                      name: ETH_GATEWAY_STATIC
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName OPTION)}
                                  spids: [18459]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [18442 18456]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [18386 18400]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--inputbox>}
                                      {(DQ <'Enter Your New Gateway Address'>)}
                                      {<8>}
                                      {<60>}
                                      {(DQ ($ Id.VSub_DollarName WIFI_GATEWAY_STATIC))}
                                      {<--title>}
                                      {(DQ <'Set Static Gateway Address'>)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [18487]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [18522]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WIFI_GATEWAY_STATIC='>
                                      name: WIFI_GATEWAY_STATIC
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName OPTION)}
                                  spids: [18543]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [18526 18540]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [18470 18484]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Change_StaticMask
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--inputbox>}
                                      {(DQ <'Enter Your New Mask Address'>)}
                                      {<8>}
                                      {<60>}
                                      {(DQ ($ Id.VSub_DollarName ETH_MASK_STATIC))}
                                      {<--title>}
                                      {(DQ <'Set Static Mask Address'>)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [18584]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [18619]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'ETH_MASK_STATIC='>
                                      name: ETH_MASK_STATIC
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName OPTION)}
                                  spids: [18640]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [18623 18637]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [18567 18581]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--inputbox>}
                                      {(DQ <'Enter Your New Mask Address'>)}
                                      {<8>}
                                      {<60>}
                                      {(DQ ($ Id.VSub_DollarName WIFI_MASK_STATIC))}
                                      {<--title>}
                                      {(DQ <'Set Static Mask Address'>)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [18668]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [18703]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WIFI_MASK_STATIC='>
                                      name: WIFI_MASK_STATIC
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName OPTION)}
                                  spids: [18724]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [18707 18721]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [18651 18665]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Change_StaticDns
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} {<Id.Lit_VarLike 'current_value='> <0>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'current_value='>
                              name: current_value
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName ETH_DNS_STATIC)}
                          spids: [18782]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [18765 18779]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'current_value='>
                              name: current_value
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName WIFI_DNS_STATIC)}
                          spids: [18807]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [18790 18804]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'return_value='> ($ Id.VSub_DollarName current_value)})
            (C {<local>} 
              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                (sh_array_literal
                  left: <Id.Op_LParen _>
                  words: [
                    {(DQ <Custom>)}
                    {(DQ <'Manually enter your DNS server'>)}
                    {(DQ <'8.8.8.8 8.8.4.4'>)}
                    {(DQ <': Google'>)}
                    {(DQ <'208.67.222.222 208.67.220.220'>)}
                    {(DQ <': OpenDNS'>)}
                    {(DQ <'209.244.0.3 209.244.0.4'>)}
                    {(DQ <': Level3'>)}
                    {(DQ <'216.146.35.35 216.146.36.36'>)}
                    {(DQ <': Dyn'>)}
                    {(DQ <'37.235.1.174 37.235.1.177'>)}
                    {(DQ <': FreeDNS'>)}
                    {(DQ <'64.6.64.6 64.6.65.6'>)}
                    {(DQ <': Verisign'>)}
                    {(DQ <'84.200.69.80 84.200.70.40'>)}
                    {(DQ <': DNS Watch'>)}
                  ]
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ <'Choose DNS server'>)}
                              {<--menu>}
                              {
                                (DQ 
                                  <'Please select a DNS server, or choose custom for manual entry.'>
                                )
                              }
                              {<--default-item>}
                              {(DQ ($ Id.VSub_DollarName current_value))}
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<16>}
                              {<70>}
                              {<8>}
                              {
                                (DQ 
                                  (braced_var_sub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name whiptail_menu_array>
                                    var_name: whiptail_menu_array
                                    bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                )
                              }
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [18908]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [18968]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Case
                      to_match: {($ Id.VSub_DollarName OPTION)}
                      arms: [
                        (case_arm
                          pat_list: [{<Custom>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ <'Enter Your DNS Server Address'> 
                                                  <Id.Lit_BadBackslash '\\'> <'n - 2 maximum, seperated by a space.'> <Id.Lit_BadBackslash '\\'> <'n - eg: 8.8.8.8 8.8.4.4'>
                                                )
                                              }
                                              {<10>}
                                              {<60>}
                                              {(DQ ($ Id.VSub_DollarName current_value))}
                                              {<--title>}
                                              {(DQ <'Set Static DNS Address'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [19000]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [19039]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'return_value='>
                                              name: return_value
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                          spids: [19060]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [19043 19057]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [18996 18997 19067 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'return_value='>
                                      name: return_value
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName OPTION)}
                                  spids: [19074]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [19070 19071 19078 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [18972 18986]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<unset>} {<whiptail_menu_array>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ETH_DNS_STATIC='>
                              name: ETH_DNS_STATIC
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName return_value)}
                          spids: [19123]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [19106 19120]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WIFI_DNS_STATIC='>
                              name: WIFI_DNS_STATIC
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName return_value)}
                          spids: [19148]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [19131 19145]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Change_WifiSsid
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--inputbox>}
                              {(DQ <'Enter the SSID name to connect to.'>)}
                              {<8>}
                              {<60>}
                              {(DQ ($ Id.VSub_DollarName WIFI_SSID))}
                              {<--title>}
                              {(DQ <'Set Your SSID'>)}
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [19166]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [19201]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_SSID='> name:WIFI_SSID)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName OPTION)}
                          spids: [19222]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [19205 19219]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Change_WifiKey
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--inputbox>}
                              {(DQ <'Enter the Access Key (WPA/WEP).'>)}
                              {<8>}
                              {<60>}
                              {(DQ ($ Id.VSub_DollarName WIFI_KEY))}
                              {<--title>}
                              {(DQ <'Set Your Access Key'>)}
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [19239]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [19274]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_KEY='> name:WIFI_KEY)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName OPTION)}
                          spids: [19295]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [19278 19292]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Change_WifiCountryCode
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} 
              {<Id.Lit_VarLike 'wifi_country_code_target='> ($ Id.VSub_DollarName WIFI_COUNTRYCODE)}
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                (sh_array_literal left:<Id.Op_LParen _> words:[])
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [{(DQ <GB>)} {(DQ <'Europe / Great Britain'>)}]
                      )
                    }
                  spids: [19327]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [{(DQ <US>)} {(DQ <'United States'>)}]
                      )
                    }
                  spids: [19339]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: {(sh_array_literal left:<Id.Op_LParen _> words:[{(DQ <JP>)} {(DQ <Japan>)}])}
                  spids: [19351]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: {(sh_array_literal left:<Id.Op_LParen _> words:[{(DQ <CN>)} {(DQ <China>)}])}
                  spids: [19363]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [{(DQ <Manual>)} {(DQ <'Enter a custom country code'>)}]
                      )
                    }
                  spids: [19375]
                )
              ]
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'description_text='> 
                (DQ 
                  <
'Choose a country, to enable WiFi channels and power ratings allowed in your country.'
                  >
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'Change WiFi country code'>)}
                  spids: [19397]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {(DQ ($ Id.VSub_DollarName description_text))}
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<--default-item>}
                              {(DQ ($ Id.VSub_DollarName WIFI_COUNTRYCODE))}
                              {<15>}
                              {<60>}
                              {<5>}
                              {
                                (DQ 
                                  (braced_var_sub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name whiptail_menu_array>
                                    var_name: whiptail_menu_array
                                    bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                )
                              }
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [19404]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [19464]
                )
              ]
              redirects: []
            )
            (C {<unset>} {<whiptail_menu_array>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{<Manual>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ 
                                                  <
'Please enter a 2 character country code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2'
                                                  >
                                                )
                                              }
                                              {<8>}
                                              {<60>}
                                              {(DQ ($ Id.VSub_DollarName WIFI_COUNTRYCODE))}
                                              {<--title>}
                                              {(DQ <'WiFi Country Code'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [19510]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [19545]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'wifi_country_code_target='>
                                              name: wifi_country_code_target
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                          spids: [19566]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [19549 19563]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [19506 19507 19573 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'wifi_country_code_target='>
                                      name: wifi_country_code_target
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName OPTION)}
                                  spids: [19580]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [19576 19577 19584 -1]
                        )
                      ]
                      redirects: []
                    )
                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<wificountrycode>} 
                      {(DQ ($ Id.VSub_DollarName wifi_country_code_target))}
                    )
                    (C {<Network_Restart>})
                    (C {<iw>} {<reg>} {<set>} {($ Id.VSub_DollarName wifi_country_code_target)})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WIFI_COUNTRYCODE='>
                              name: WIFI_COUNTRYCODE
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<iw>} {<reg>} {<get>})
                                      (C {<grep>} {<-m1>} {(SQ <country>)})
                                      (C {<awk>} {(SQ <'{print $2}'>)})
                                      (C {<tr>} {<-d>} {(SQ <':'>)})
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [19635]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} 
                                      {(DQ ($ Id.VSub_DollarName WIFI_COUNTRYCODE))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName wifi_country_code_target))} 
                                      {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<whiptail>} {<--title>} {(DQ <'Error: Country Code'>)} {<--msgbox>} 
                              {
                                (DQ <'Country code ('> ($ Id.VSub_DollarName wifi_country_code_target) 
                                  <
') could not been applied. Please check the country code and try again.'
                                  >
                                )
                              } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<8>} {<55>}
                            )
                          ]
                          spids: [19673 19691]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [19479 19493]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Scan_Wifi
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<ifup>} {<wlan> ($ Id.VSub_DollarName WIFI_INDEX)})
            (C {<clear>})
            (C {<echo>} {<-e>} {(DQ <'Scanning SSIDS, please wait....'>)})
            (C {<echo>} {<-e>} {(DQ <------------------------------->)})
            (command.Pipeline
              children: [
                (C {<iwlist>} {<wlan> ($ Id.VSub_DollarName WIFI_INDEX)} {<scan>})
                (C {<grep>} {<ESSID> <Id.Lit_Colon ':'>})
                (command.Simple
                  words: [{<sed>} {(SQ <'s/[ \\t]*ESSID:"\\(.*\\)"/\\1/'>)}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {<'/tmp/dietpi-config_temp'>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.Simple
              words: [{<readarray>} {<wifi_ssid_array>}]
              redirects: [
                (redir
                  op: <Id.Redir_Less '<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: {<'/tmp/dietpi-config_temp'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'wifi_ssid_list='> (sh_array_literal left:<Id.Op_LParen _> words:[])}
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: 
                    {
                      (braced_var_sub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name wifi_ssid_array>
                        var_name: wifi_ssid_array
                        prefix_op: <Id.VSub_Pound '#'>
                        bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                        right: <Id.Right_DollarBrace '}'>
                      )
                    }
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'wifi_ssid_list+='>
                              name: wifi_ssid_list
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ ($ Id.VSub_DollarName i))}
                                  {
                                    (DQ 
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name wifi_ssid_array>
                                        var_name: wifi_ssid_array
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName i)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [19858]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi-Config - Wifi SSID Scan'>)}
                  spids: [19879]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {(DQ <'Please select a Wifi SSID'>)}
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<14>}
                              {<60>}
                              {<6>}
                              {
                                (DQ 
                                  (braced_var_sub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name wifi_ssid_list>
                                    var_name: wifi_ssid_list
                                    bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                )
                              }
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [19885]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [19940]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_SSID='> name:WIFI_SSID)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (braced_var_sub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Name wifi_ssid_array>
                                var_name: wifi_ssid_array
                                bracket_op: 
                                  (bracket_op.ArrayIndex
                                    expr: {($ Id.VSub_DollarName OPTION)}
                                  )
                                right: <Id.Right_DollarBrace '}'>
                              )
                            }
                          spids: [19961]
                        )
                      ]
                      redirects: []
                    )
                    (C {<Change_WifiKey>})
                    (C {<Wifi_Reconnect>})
                  ]
                  spids: [19944 19958]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.Simple
              words: [{<rm>} {<'/tmp/dietpi-config_temp'>}]
              redirects: [
                (redir
                  op: <Id.Redir_AndGreat '&>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (C {<unset>} {<wifi_ssid_array>})
            (C {<unset>} {<wifi_ssid_list>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Wifi_Reconnect
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_QUESTION='> name:WHIP_QUESTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ <'SSID: '> ($ Id.VSub_DollarName WIFI_SSID) <' '> <Id.Lit_BadBackslash '\\'> 
                        <'nKEY: '> ($ Id.VSub_DollarName WIFI_KEY) <' '> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                        <'nConnect now? '> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                        <'n(NOTICE) All WiFi connections will be dropped!'>
                      )
                    }
                  spids: [20019]
                )
              ]
              redirects: []
            )
            (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
              {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<60>}
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [20078]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<clear>})
                    (C {<echo>} {<-e>} 
                      {(DQ <'Connecting to '> ($ Id.VSub_DollarName WIFI_SSID) <' , please wait'>)}
                    )
                    (C {<Network_ApplyChanges>})
                  ]
                  spids: [20082 20096]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Ethernet_Reconnect
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_QUESTION='> name:WHIP_QUESTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ <'Do you wish to apply settings and reconnect network now? '> 
                        <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n(NOTICE) All Ethernet connections will be dropped!'>
                      )
                    }
                  spids: [20133]
                )
              ]
              redirects: []
            )
            (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
              {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<12>} {<60>}
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [20182]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<clear>})
                    (C {<echo>} {<-e>} {(DQ <'Reconnecting Ethernet , please wait'>)})
                    (C {<Network_ApplyChanges>})
                  ]
                  spids: [20186 20200]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INTERNET_ONLINE='> name:INTERNET_ONLINE)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [20230]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INTERNET_URL='> name:INTERNET_URL)
          op: assign_op.Equal
          rhs: {(SQ <'http://mirrordirector.raspbian.org'>)}
          spids: [20237]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: Network_CheckInternetConnection
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INTERNET_ONLINE='>
                      name: INTERNET_ONLINE
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [20251]
                )
              ]
              redirects: []
            )
            (C {<wget>} {<--spider>} {<--timeout> <Id.Lit_Equals '='> <10>} 
              {<--tries> <Id.Lit_Equals '='> <2>} {(DQ ($ Id.VSub_DollarName INTERNET_URL))}
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_QMark '?')}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INTERNET_ONLINE='>
                              name: INTERNET_ONLINE
                            )
                          op: assign_op.Equal
                          rhs: {<2>}
                          spids: [20297]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [20280 20294]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'INTERNET_ONLINE='>
                          name: INTERNET_ONLINE
                        )
                      op: assign_op.Equal
                      rhs: {<1>}
                      spids: [20307]
                    )
                  ]
                  redirects: []
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Network_GetData
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<'/DietPi/dietpi/func/obtain_network_details'>})
            (C {<cp>} {<'/etc/network/interfaces'>} {<'/tmp/net_interfaces'>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_IP_STATIC='> name:ETH_IP_STATIC)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<-n>} {<'/tmp/net_interfaces'>})
                              (C {<grep>} {(SQ <'address '>)})
                              (C {<sed>} {<-n>} {<1p>})
                              (C {<awk>} {(SQ <'{print $3}'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [20352]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'ETH_GATEWAY_STATIC='>
                      name: ETH_GATEWAY_STATIC
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<-n>} {<'/tmp/net_interfaces'>})
                              (C {<grep>} {(SQ <'gateway '>)})
                              (C {<sed>} {<-n>} {<1p>})
                              (C {<awk>} {(SQ <'{print $3}'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [20386]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'ETH_MASK_STATIC='>
                      name: ETH_MASK_STATIC
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<-n>} {<'/tmp/net_interfaces'>})
                              (C {<grep>} {(SQ <'netmask '>)})
                              (C {<sed>} {<-n>} {<1p>})
                              (C {<awk>} {(SQ <'{print $3}'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [20420]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_DNS_STATIC='> name:ETH_DNS_STATIC)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<-n>} {<'/tmp/net_interfaces'>})
                              (C {<grep>} {(SQ <'dns-nameservers '>)})
                              (C {<sed>} {<-n>} {<1p>})
                              (C {<awk>} {(SQ <'{print $3,$4}'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [20454]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_INDEX='> name:ETH_INDEX)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: (C {<sed>} {<-n>} {<1p>} {<'/DietPi/dietpi/.network'>})
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [20489]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_DISABLED='> name:ETH_DISABLED)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/tmp/net_interfaces'>})
                              (C {<grep>} {<-ci>} {<-m1>} 
                                {(DQ <'#allow-hotplug eth'> ($ Id.VSub_DollarName ETH_INDEX))}
                              )
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [20501]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_HARDWARE='> name:ETH_HARDWARE)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [20522]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_CONNECTED='> name:ETH_CONNECTED)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [20526]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_IP='> name:ETH_IP)
                  op: assign_op.Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20530]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_GATEWAY='> name:ETH_GATEWAY)
                  op: assign_op.Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20536]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_MASK='> name:ETH_MASK)
                  op: assign_op.Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20542]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_DNS='> name:ETH_DNS)
                  op: assign_op.Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20548]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_MODE='> name:ETH_MODE)
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [20554]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'ETH_MODE_TARGET='>
                      name: ETH_MODE_TARGET
                    )
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName ETH_MODE)}
                  spids: [20558]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_IP_STATIC='> name:WIFI_IP_STATIC)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<-n>} {<'/tmp/net_interfaces'>})
                              (C {<grep>} {(SQ <'address '>)})
                              (C {<sed>} {<-n>} {<2p>})
                              (C {<awk>} {(SQ <'{print $3}'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [20563]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'WIFI_GATEWAY_STATIC='>
                      name: WIFI_GATEWAY_STATIC
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<-n>} {<'/tmp/net_interfaces'>})
                              (C {<grep>} {(SQ <'gateway '>)})
                              (C {<sed>} {<-n>} {<2p>})
                              (C {<awk>} {(SQ <'{print $3}'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [20597]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'WIFI_MASK_STATIC='>
                      name: WIFI_MASK_STATIC
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<-n>} {<'/tmp/net_interfaces'>})
                              (C {<grep>} {(SQ <'netmask '>)})
                              (C {<sed>} {<-n>} {<2p>})
                              (C {<awk>} {(SQ <'{print $3}'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [20631]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'WIFI_DNS_STATIC='>
                      name: WIFI_DNS_STATIC
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<-n>} {<'/tmp/net_interfaces'>})
                              (C {<grep>} {(SQ <'dns-nameservers '>)})
                              (C {<sed>} {<-n>} {<2p>})
                              (C {<awk>} {(SQ <'{print $3,$4}'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [20665]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_INDEX='> name:WIFI_INDEX)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: (C {<sed>} {<-n>} {<2p>} {<'/DietPi/dietpi/.network'>})
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [20700]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_DISABLED='> name:WIFI_DISABLED)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/tmp/net_interfaces'>})
                              (C {<grep>} {<-ci>} {<-m1>} 
                                {(DQ <'#allow-hotplug wlan'> ($ Id.VSub_DollarName WIFI_INDEX))}
                              )
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [20712]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_HARDWARE='> name:WIFI_HARDWARE)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [20733]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_CONNECTED='> name:WIFI_CONNECTED)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [20737]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_IP='> name:WIFI_IP)
                  op: assign_op.Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20741]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_GATEWAY='> name:WIFI_GATEWAY)
                  op: assign_op.Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20747]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_MASK='> name:WIFI_MASK)
                  op: assign_op.Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20753]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_DNS='> name:WIFI_DNS)
                  op: assign_op.Equal
                  rhs: {(SQ <0.0.0.0>)}
                  spids: [20759]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_MODE='> name:WIFI_MODE)
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [20765]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'WIFI_MODE_TARGET='>
                      name: WIFI_MODE_TARGET
                    )
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName WIFI_MODE)}
                  spids: [20769]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_SSID='> name:WIFI_SSID)
                  op: assign_op.Equal
                  rhs: {(SQ <MySuperDooperWiFi>)}
                  spids: [20773]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_KEY='> name:WIFI_KEY)
                  op: assign_op.Equal
                  rhs: {(SQ <0123456789>)}
                  spids: [20779]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_BITRATE='> name:WIFI_BITRATE)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [20789]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'WIFI_SIGNALSTRENGTH='>
                      name: WIFI_SIGNALSTRENGTH
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [20793]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_HOTSPOT='> name:WIFI_HOTSPOT)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [20801]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-f>} {<'/usr/sbin/hostapd'>} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WIFI_HOTSPOT='>
                              name: WIFI_HOTSPOT
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [20819]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [20805 20816]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'WIFI_COUNTRYCODE='>
                      name: WIFI_COUNTRYCODE
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <GB>)}
                  spids: [20848]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-n>} 
                              {
                                (DQ 
                                  (command_sub
                                    left_token: <Id.Left_DollarParen '$('>
                                    child: (C {<which>} {<iw>})
                                    right: <Id.Eof_RParen _>
                                  )
                                )
                              } {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WIFI_COUNTRYCODE='>
                              name: WIFI_COUNTRYCODE
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<iw>} {<reg>} {<get>})
                                      (C {<grep>} {<-m1>} {(SQ <country>)})
                                      (C {<awk>} {(SQ <'{print $2}'>)})
                                      (C {<tr>} {<-d>} {(SQ <':'>)})
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [20875]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [20854 20871]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-d>} 
                              {<'/sys/class/net/eth'> ($ Id.VSub_DollarName ETH_INDEX)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ETH_HARDWARE='>
                              name: ETH_HARDWARE
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [20947]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_MODE='> name:ETH_MODE)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<cat>} {<'/tmp/net_interfaces'>})
                                      (C {<grep>} {<-ci>} {<-m1>} 
                                        {
                                          (DQ <'iface eth'> ($ Id.VSub_DollarName ETH_INDEX) 
                                            <' inet dhcp'>
                                          )
                                        }
                                      )
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [20956]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ETH_MODE_TARGET='>
                              name: ETH_MODE_TARGET
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName ETH_MODE)}
                          spids: [20978]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ETH_CONNECTED='>
                              name: ETH_CONNECTED
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<ip>} {<r>})
                                      (C {<grep>} {<-ci>} {<-m1>} 
                                        {(DQ <eth> ($ Id.VSub_DollarName ETH_INDEX))}
                                      )
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [20987]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.AndOr
                                      ops: [Id.Op_DAmp]
                                      children: [
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName ETH_DISABLED)}
                                              right: {<Id.Lit_Digits 0>}
                                            )
                                          redirects: []
                                        )
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName ETH_CONNECTED)}
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          redirects: []
                                        )
                                      ]
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETH_IP='> name:ETH_IP)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<ifconfig>} {<eth> ($ Id.VSub_DollarName ETH_INDEX)})
                                              (C {<grep>} {<-m1>} {(SQ <inet>)})
                                              (C {<awk>} {(SQ <'{ print $2 }'>)})
                                              (C {<sed>} {(SQ <'s/addr://g'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [21044]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'ETH_GATEWAY='>
                                      name: ETH_GATEWAY
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<ip>} {<r>})
                                              (C {<grep>} {<-m1>} {(SQ <default>)})
                                              (C {<awk>} {(SQ <'{ print $3 }'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [21079]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'ETH_MASK='>
                                      name: ETH_MASK
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<ifconfig>} {<eth> ($ Id.VSub_DollarName ETH_INDEX)})
                                              (C {<grep>} {<-m1>} {(SQ <inet>)})
                                              (C {<awk>} {(SQ <'{ print $4 }'>)})
                                              (C {<sed>} {(SQ <'s/Mask://g'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [21105]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'ETH_DNS='>
                                      name: ETH_DNS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<grep>} {<-m1>} {(SQ <nameserver>)} 
                                                {<'/etc/resolv.conf'>}
                                              )
                                              (C {<awk>} {(SQ <'{print $2}'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [21140]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [21013 21040]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [20927 20939]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-d>} 
                              {<'/sys/class/net/wlan'> ($ Id.VSub_DollarName WIFI_INDEX)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WIFI_HARDWARE='>
                              name: WIFI_HARDWARE
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [21191]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_MODE='> name:WIFI_MODE)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<cat>} {<'/tmp/net_interfaces'>})
                                      (C {<grep>} {<-ci>} {<-m1>} 
                                        {
                                          (DQ <'iface wlan'> ($ Id.VSub_DollarName WIFI_INDEX) 
                                            <' inet dhcp'>
                                          )
                                        }
                                      )
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [21200]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WIFI_MODE_TARGET='>
                              name: WIFI_MODE_TARGET
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName WIFI_MODE)}
                          spids: [21222]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WIFI_CONNECTED='>
                              name: WIFI_CONNECTED
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<ip>} {<r>})
                                      (C {<grep>} {<-ci>} {<-m1>} 
                                        {(DQ <wlan> ($ Id.VSub_DollarName WIFI_INDEX))}
                                      )
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [21231]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_SSID='> name:WIFI_SSID)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_NET_WIFI_SSID='>)} 
                                          {<'/DietPi/dietpi.txt'>}
                                        )
                                        (C {<sed>} {(SQ <'s/.*=//'>)})
                                      ]
                                      negated: F
                                      stderr_indices: []
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                              )
                            }
                          spids: [21257]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WIFI_KEY='> name:WIFI_KEY)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_NET_WIFI_KEY='>)} 
                                          {<'/DietPi/dietpi.txt'>}
                                        )
                                        (C {<sed>} {(SQ <'s/.*=//'>)})
                                      ]
                                      negated: F
                                      stderr_indices: []
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                              )
                            }
                          spids: [21281]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.AndOr
                                      ops: [Id.Op_DAmp]
                                      children: [
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName WIFI_DISABLED)}
                                              right: {<Id.Lit_Digits 0>}
                                            )
                                          redirects: []
                                        )
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName WIFI_CONNECTED)}
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          redirects: []
                                        )
                                      ]
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WIFI_IP='>
                                      name: WIFI_IP
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<ifconfig>} 
                                                {<wlan> ($ Id.VSub_DollarName WIFI_INDEX)}
                                              )
                                              (C {<grep>} {<-m1>} {(SQ <inet>)})
                                              (C {<awk>} {(SQ <'{ print $2 }'>)})
                                              (C {<sed>} {(SQ <'s/addr://g'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [21341]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WIFI_GATEWAY='>
                                      name: WIFI_GATEWAY
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<ip>} {<r>})
                                              (C {<grep>} {<-m1>} {(SQ <default>)})
                                              (C {<awk>} {(SQ <'{ print $3 }'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [21376]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WIFI_MASK='>
                                      name: WIFI_MASK
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<ifconfig>} 
                                                {<wlan> ($ Id.VSub_DollarName WIFI_INDEX)}
                                              )
                                              (C {<grep>} {<-m1>} {(SQ <inet>)})
                                              (C {<awk>} {(SQ <'{ print $4 }'>)})
                                              (C {<sed>} {(SQ <'s/Mask://g'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [21402]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WIFI_DNS='>
                                      name: WIFI_DNS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<cat>} {<'/etc/resolv.conf'>})
                                              (C {<grep>} {<-m1>} {<nameserver>})
                                              (C {<awk>} {(SQ <'{print $2}'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [21437]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WIFI_BITRATE='>
                                      name: WIFI_BITRATE
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<iwconfig>} 
                                                {<wlan> ($ Id.VSub_DollarName WIFI_INDEX)}
                                              )
                                              (C {<grep>} {<-m1>} {(SQ <'Bit Rate'>)})
                                              (C {<awk>} {(SQ <'{ print $2 }'>)})
                                              (C {<sed>} {(SQ <'s/Rate[:=]//g'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [21466]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WIFI_SIGNALSTRENGTH='>
                                      name: WIFI_SIGNALSTRENGTH
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<iwconfig>} 
                                                {<wlan> ($ Id.VSub_DollarName WIFI_INDEX)}
                                              )
                                              (C {<grep>} {<-m1>} {(SQ <'Signal level='>)})
                                              (C {<awk>} {(SQ <'{ print $4 }'>)})
                                              (C {<sed>} {(SQ <'s/level=//g'>)})
                                              (C {<cut>} {<-f1>} {<-d>} {(DQ <'/'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [21501]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.AndOr
                                              ops: [Id.Op_DAmp]
                                              children: [
                                                (command.DBracket
                                                  expr: 
                                                    (bool_expr.Binary
                                                      op_id: Id.BoolBinary_EqualTilde
                                                      left: 
                                                        {($ Id.VSub_DollarName WIFI_SIGNALSTRENGTH)}
                                                      right: 
                                                        {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> 
                                                          <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                                                        }
                                                    )
                                                  redirects: []
                                                )
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_Less
                                                      left: 
                                                        {($ Id.VSub_DollarName WIFI_SIGNALSTRENGTH)}
                                                      right: {<Id.Lit_Digits 0>}
                                                    )
                                                  redirects: []
                                                )
                                              ]
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WIFI_SIGNALSTRENGTH='>
                                              name: WIFI_SIGNALSTRENGTH
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {(DQ ($ Id.VSub_DollarName WIFI_SIGNALSTRENGTH) <' dBm'>)}
                                          spids: [21591]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [21553 21587]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'WIFI_SIGNALSTRENGTH='>
                                          name: WIFI_SIGNALSTRENGTH
                                        )
                                      op: assign_op.Equal
                                      rhs: {(DQ ($ Id.VSub_DollarName WIFI_SIGNALSTRENGTH) <' %'>)}
                                      spids: [21603]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [21310 21337]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [21171 21183]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.Simple
              words: [{<rm>} {<'/tmp/net_interfaces'>}]
              redirects: [
                (redir
                  op: <Id.Redir_AndGreat '&>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_NetworkAdapters
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [21652]
                )
              ]
              redirects: []
            )
            (C {<Network_GetData>})
            (C {<local>} 
              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                (sh_array_literal left:<Id.Op_LParen _> words:[])
              }
            )
            (C {<local>} {<Id.Lit_VarLike 'eth_disabled_text='> (SQ <Enabled>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ETH_DISABLED)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'eth_disabled_text='>
                              name: eth_disabled_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [21702]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [21685 21699]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'wlan_disabled_text='> (SQ <Enabled>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName WIFI_DISABLED)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'wlan_disabled_text='>
                              name: wlan_disabled_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [21737]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [21720 21734]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'eth_hardware_text='> (SQ <Available>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Unary
                                  op_id: Id.Arith_Bang
                                  child: {($ Id.VSub_DollarName ETH_HARDWARE)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'eth_hardware_text='>
                              name: eth_hardware_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'Not Found'>)}
                          spids: [21774]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [21759 21771]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'wlan_hardware_text='> (SQ <Available>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Unary
                                  op_id: Id.Arith_Bang
                                  child: {($ Id.VSub_DollarName WIFI_HARDWARE)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'wlan_hardware_text='>
                              name: wlan_hardware_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'Not Found'>)}
                          spids: [21807]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [21792 21804]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'eth_connected_text='> (SQ <Disconnected>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ETH_CONNECTED)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'eth_connected_text='>
                              name: eth_connected_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <Connected>)}
                          spids: [21846]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [21829 21843]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'wlan_connected_text='> (SQ <Disconnected>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName WIFI_CONNECTED)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'wlan_connected_text='>
                              name: wlan_connected_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <Connected>)}
                          spids: [21881]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName WIFI_HOTSPOT)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'wlan_connected_text='>
                                      name: wlan_connected_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <'Wifi Hotspot Mode'>)}
                                  spids: [21904]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [21887 21901]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [21864 21878]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'Internet_connected_text='> (SQ <'Please run Internet Test'>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName INTERNET_ONLINE)}
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'Internet_connected_text='>
                              name: Internet_connected_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <Online>)}
                          spids: [21946]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [21929 21943]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName INTERNET_ONLINE)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'Internet_connected_text='>
                              name: Internet_connected_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'Offline / Failed'>)}
                          spids: [21969]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [21952 21966]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INTERNET_ONLINE='>
                      name: INTERNET_ONLINE
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [21983]
                )
              ]
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'ipv6_enabled='> <1>})
            (C {<local>} {<Id.Lit_VarLike 'ipv6_status_text='> (SQ <Enabled>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {<'/proc/sys/net/ipv6'>} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ipv6_enabled='>
                              name: ipv6_enabled
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [22022]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ipv6_status_text='>
                              name: ipv6_status_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [22026]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [22006 22019]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<Load_Proxy_Vars>})
            (C {<local>} {<Id.Lit_VarLike 'proxy_state_text='> (SQ <Disabled>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName PROXY_ENABLED)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'proxy_state_text='>
                              name: proxy_state_text
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ <'Enabled | '> ($ Id.VSub_DollarName PROXY_ADDRESS) <':'> 
                                ($ Id.VSub_DollarName PROXY_PORT)
                              )
                            }
                          spids: [22069]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [22052 22066]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROXY_ENABLED='> name:PROXY_ENABLED)
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [22085]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [{(DQ <Ethernet>)} {(DQ <'Change Wired Network Settings'>)}]
                      )
                    }
                  spids: [22090]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [{(DQ <WiFi>)} {(DQ <'Change Wireless Network Settings'>)}]
                      )
                    }
                  spids: [22102]
                )
              ]
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'onboard_wifi_enabled='> <1>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName HW_ONBOARD_WIFI)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-f>} 
                                      {<'/etc/modprobe.d/disable_wifi_rpi3_onboard.conf'>} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'onboard_wifi_enabled='>
                                      name: onboard_wifi_enabled
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                  spids: [22162]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(DQ <'Onboard WiFi'>)}
                                          {(DQ <'Disabled | select to toggle'>)}
                                        ]
                                      )
                                    }
                                  spids: [22166]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [22147 22158]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                  name: whiptail_menu_array
                                )
                              op: assign_op.PlusEqual
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {(DQ <'Onboard WiFi'>)}
                                      {(DQ <'Enabled | select to toggle'>)}
                                    ]
                                  )
                                }
                              spids: [22183]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [22129 22143]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [{(DQ <IPv6>)} {(DQ <'Toggle IPv6 Support'>)}]
                      )
                    }
                  spids: [22204]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [{(DQ <Test>)} {(DQ <'Run the Internet Connection Test'>)}]
                      )
                    }
                  spids: [22216]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [{(DQ <Proxy>)} {(DQ <'Configure proxy settings'>)}]
                      )
                    }
                  spids: [22228]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Network Options: Adapters'>)}
                  spids: [22241]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {
                                (DQ <' '> <Id.Lit_BadBackslash '\\'> <'n Ethernet     : '> 
                                  ($ Id.VSub_DollarName eth_hardware_text) <' | '> ($ Id.VSub_DollarName eth_disabled_text) <' | '> ($ Id.VSub_DollarName eth_connected_text) <' '> 
                                  <Id.Lit_BadBackslash '\\'> <'n Wifi         : '> ($ Id.VSub_DollarName wlan_hardware_text) <' | '> 
                                  ($ Id.VSub_DollarName wlan_disabled_text) <' | '> ($ Id.VSub_DollarName wlan_connected_text) <Id.Lit_BadBackslash '\\'> <'n IPv6         : '> 
                                  ($ Id.VSub_DollarName ipv6_status_text) <Id.Lit_BadBackslash '\\'> <'n Internet     : '> ($ Id.VSub_DollarName Internet_connected_text) 
                                  <Id.Lit_BadBackslash '\\'> <'n Proxy        : '> ($ Id.VSub_DollarName proxy_state_text)
                                )
                              }
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<19>}
                              {<65>}
                              {<6>}
                              {
                                (DQ 
                                  (braced_var_sub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name whiptail_menu_array>
                                    var_name: whiptail_menu_array
                                    bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                )
                              }
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [22247]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [22325]
                )
              ]
              redirects: []
            )
            (C {<unset>} {<whiptail_menu_array>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ <'Onboard WiFi'>)}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: {($ Id.VSub_DollarName onboard_wifi_enabled)}
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<wifimodules>} 
                                      {<onboard_disable>}
                                    )
                                  ]
                                  spids: [22371 22381]
                                )
                              ]
                              else_action: [
                                (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<wifimodules>} 
                                  {<onboard_enable>}
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [22409]
                                )
                              ]
                              redirects: []
                            )
                            (C {<whiptail>} {<--title>} {(DQ <'Reboot required'>)} {<--msgbox>} 
                              {(DQ <'NB: A reboot is required for the changes to take effect.'>)} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<8>} {<65>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<8>}
                                  spids: [22444]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [22364 22367 22449 -1]
                        )
                        (case_arm
                          pat_list: [{<IPv6>}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: {($ Id.VSub_DollarName ipv6_enabled)}
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<whiptail>} {<--title>} {(DQ <'Disable IPv6?'>)} {<--yesno>} 
                                      {
                                        (DQ 
                                          <
'IPv6 is currently enabled. Would you like to disable it?'
                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                          <
'n - A system restart is required for settings to take effect.'
                                          > <Id.Lit_BadBackslash '\\'> <'n - Disabling IPv6 may break certain programs that rely on it.'>
                                        )
                                      } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<11>} {<70>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [22521]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_DEqual
                                                                  left: 
                                                                    ($ Id.Lit_ArithVarLike G_HW_ARCH)
                                                                  right: {<Id.Lit_Digits 10>}
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.If
                                                      arms: [
                                                        (if_arm
                                                          cond: 
                                                            (condition.Shell
                                                              commands: [
                                                                (command.Sentence
                                                                  child: 
                                                                    (command.DParen
                                                                      child: 
                                                                        (arith_expr.Unary
                                                                          op_id: Id.Arith_Bang
                                                                          child: 
                                                                            {
                                                                              (command_sub
                                                                                left_token: 
                                                                                  <
Id.Left_DollarParen '$('
                                                                                  >
                                                                                child: 
                                                                                  (C {<grep>} {<-ci>} 
                                                                                    {<-m1>} {(SQ <'ipv6.disable=1'>)} {<'/etc/default/grub'>}
                                                                                  )
                                                                                right: 
                                                                                  <Id.Eof_RParen _>
                                                                              )
                                                                            }
                                                                        )
                                                                      redirects: []
                                                                    )
                                                                  terminator: <Id.Op_Semi _>
                                                                )
                                                              ]
                                                            )
                                                          action: [
                                                            (C {<sed>} {<-i>} 
                                                              {
                                                                (SQ 
                                                                  <
's/GRUB_CMDLINE_LINUX_DEFAULT=\\"/GRUB_CMDLINE_LINUX_DEFAULT=\\"ipv6.disable=1 /g'
                                                                  >
                                                                )
                                                              } {<'/etc/default/grub'>}
                                                            )
                                                            (C {<update-grub>})
                                                          ]
                                                          spids: [22566 22590]
                                                        )
                                                      ]
                                                      else_action: []
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [22544 22558]
                                                )
                                              ]
                                              else_action: [
                                                (command.Simple
                                                  words: [{<echo>} {(SQ <'blacklist ipv6'>)}]
                                                  redirects: [
                                                    (redir
                                                      op: <Id.Redir_Great '>'>
                                                      loc: (redir_loc.Fd fd:1)
                                                      arg: 
                                                        {
                                                          <
'/etc/modprobe.d/99-dietpi-blacklist-ipv6.conf'
                                                          >
                                                        }
                                                    )
                                                  ]
                                                  more_env: []
                                                  do_fork: T
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.Simple
                                              words: [{<echo>} {(SQ <'Acquire::ForceIPv4 "true";'>)}]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_Great '>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<'/etc/apt/apt.conf.d/99-dietpi-force-ipv4'>}
                                                )
                                              ]
                                              more_env: []
                                              do_fork: T
                                            )
                                            (command.AndOr
                                              ops: [Id.Op_DAmp Id.Op_DPipe Id.Op_DAmp Id.Op_DPipe]
                                              children: [
                                                (C {<grep>} {<-q>} 
                                                  {(SQ <'^[[:blank:]]*prefer-family ='>)} {<'/etc/wgetrc'>}
                                                )
                                                (C {<sed>} {<-i>} 
                                                  {
                                                    (SQ 
                                                      <
'/^[[:blank:]]*prefer-family =/c\\prefer-family = IPv4'
                                                      >
                                                    )
                                                  } {<'/etc/wgetrc'>}
                                                )
                                                (C {<grep>} {<-q>} 
                                                  {(SQ <'^[[:blank:]#;]*prefer-family ='>)} {<'/etc/wgetrc'>}
                                                )
                                                (C {<sed>} {<-i>} 
                                                  {
                                                    (SQ 
                                                      <
'/^[[:blank:]#;]*prefer-family =/c\\prefer-family = IPv4'
                                                      >
                                                    )
                                                  } {<'/etc/wgetrc'>}
                                                )
                                                (command.Simple
                                                  words: [{<echo>} {(SQ <'prefer-family = IPv4'>)}]
                                                  redirects: [
                                                    (redir
                                                      op: <Id.Redir_DGreat '>>'>
                                                      loc: (redir_loc.Fd fd:1)
                                                      arg: {<'/etc/wgetrc'>}
                                                    )
                                                  ]
                                                  more_env: []
                                                  do_fork: T
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                      name: REBOOT_REQUIRED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [22718]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [22526 22540]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [22462 22472]
                                )
                              ]
                              else_action: [
                                (C {<whiptail>} {<--title>} {(DQ <'Enable IPv6?'>)} {<--yesno>} 
                                  {
                                    (DQ <'IPv6 is currently disabled. Would you like to enable it?'> 
                                      <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - NB: A system restart is required for settings to take effect.'>
                                    )
                                  } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
                                  {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<10>} {<70>}
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'CHOICE='>
                                          name: CHOICE
                                        )
                                      op: assign_op.Equal
                                      rhs: {($ Id.VSub_QMark '?')}
                                      spids: [22778]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName CHOICE)}
                                                      right: {<Id.Lit_Digits 0>}
                                                    )
                                                  redirects: []
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.If
                                          arms: [
                                            (if_arm
                                              cond: 
                                                (condition.Shell
                                                  commands: [
                                                    (command.Sentence
                                                      child: 
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_DEqual
                                                              left: ($ Id.Lit_ArithVarLike G_HW_ARCH)
                                                              right: {<Id.Lit_Digits 10>}
                                                            )
                                                          redirects: []
                                                        )
                                                      terminator: <Id.Op_Semi _>
                                                    )
                                                  ]
                                                )
                                              action: [
                                                (C {<sed>} {<-i>} {(SQ <'s/ipv6.disable=1 //g'>)} 
                                                  {<'/etc/default/grub'>}
                                                )
                                                (C {<update-grub>})
                                              ]
                                              spids: [22801 22815]
                                            )
                                          ]
                                          else_action: [
                                            (command.Simple
                                              words: [
                                                {<rm>}
                                                {<'/etc/modprobe.d/99-dietpi-blacklist-ipv6.conf'>}
                                              ]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_AndGreat '&>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<'/dev/null'>}
                                                )
                                              ]
                                              more_env: []
                                              do_fork: T
                                            )
                                          ]
                                          redirects: []
                                        )
                                        (command.Simple
                                          words: [{<rm>} {<'/etc/apt/apt.conf.d/99-dietpi-force-ipv4'>}]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_AndGreat '&>'>
                                              loc: (redir_loc.Fd fd:1)
                                              arg: {<'/dev/null'>}
                                            )
                                          ]
                                          more_env: []
                                          do_fork: T
                                        )
                                        (command.AndOr
                                          ops: [Id.Op_DAmp Id.Op_DPipe Id.Op_DAmp Id.Op_DPipe]
                                          children: [
                                            (C {<grep>} {<-q>} {(SQ <'^[[:blank:]]*prefer-family ='>)} 
                                              {<'/etc/wgetrc'>}
                                            )
                                            (C {<sed>} {<-i>} 
                                              {
                                                (SQ 
                                                  <
'/^[[:blank:]]*prefer-family =/c\\prefer-family = IPv6'
                                                  >
                                                )
                                              } {<'/etc/wgetrc'>}
                                            )
                                            (C {<grep>} {<-q>} {(SQ <'^[[:blank:]#;]*prefer-family ='>)} 
                                              {<'/etc/wgetrc'>}
                                            )
                                            (C {<sed>} {<-i>} 
                                              {
                                                (SQ 
                                                  <
'/^[[:blank:]#;]*prefer-family =/c\\prefer-family = IPv6'
                                                  >
                                                )
                                              } {<'/etc/wgetrc'>}
                                            )
                                            (command.Simple
                                              words: [{<echo>} {(SQ <'prefer-family = IPv6'>)}]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_DGreat '>>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<'/etc/wgetrc'>}
                                                )
                                              ]
                                              more_env: []
                                              do_fork: T
                                            )
                                          ]
                                        )
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                                  name: REBOOT_REQUIRED
                                                )
                                              op: assign_op.Equal
                                              rhs: {<1>}
                                              spids: [22931]
                                            )
                                          ]
                                          redirects: []
                                        )
                                      ]
                                      spids: [22783 22797]
                                    )
                                  ]
                                  else_action: []
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<8>}
                                  spids: [22948]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [22453 22454 22953 -1]
                        )
                        (case_arm
                          pat_list: [{<Ethernet>}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: {($ Id.VSub_DollarName ETH_HARDWARE)}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                              name: WHIP_TITLE
                                            )
                                          op: assign_op.Equal
                                          rhs: {(SQ <' Error: No Ethernet Hardware was found.'>)}
                                          spids: [22982]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                              name: WHIP_QUESTION
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SQ 
                                                <
' No Ethernet Hardware was found. You are most likely running a Pi Model A.'
                                                >
                                              )
                                            }
                                          spids: [22988]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                      {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} 
                                      {<12>} {<60>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                                              name: TARGETMENUID
                                            )
                                          op: assign_op.Equal
                                          rhs: {<8>}
                                          spids: [23024]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [22966 22978]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: {($ Id.VSub_DollarName ETH_DISABLED)}
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<whiptail>} {<--title>} {(DQ <'Ethernet is Disabled'>)} 
                                      {<--yesno>} 
                                      {
                                        (DQ 
                                          <
'Ethernet must be enabled before settings can be changed.'
                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nWould you like to enable Ethernet now?'> 
                                          <Id.Lit_BadBackslash '\\'> <'n - (NOTICE) Connections may drop!'>
                                        )
                                      } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<12>} {<60>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [23092]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'ETH_DISABLED='>
                                                      name: ETH_DISABLED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<0>}
                                                  spids: [23119]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (C {<Network_ApplyChanges>})
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                                      name: TARGETMENUID
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<9>}
                                                  spids: [23126]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [23101 23115]
                                        )
                                      ]
                                      else_action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'TARGETMENUID='>
                                                  name: TARGETMENUID
                                                )
                                              op: assign_op.Equal
                                              rhs: {<8>}
                                              spids: [23139]
                                            )
                                          ]
                                          redirects: []
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [23033 23043]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'TARGETMENUID='>
                                          name: TARGETMENUID
                                        )
                                      op: assign_op.Equal
                                      rhs: {<9>}
                                      spids: [23152]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [22957 22958 23161 -1]
                        )
                        (case_arm
                          pat_list: [{<WiFi>}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: {($ Id.VSub_DollarName WIFI_DISABLED)}
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<whiptail>} {<--title>} {(DQ <'WiFi is Disabled'>)} {<--yesno>} 
                                      {
                                        (DQ <'WiFi must be enabled before settings can be changed.'> 
                                          <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nWould you like to enable WiFi now? '> <Id.Lit_BadBackslash '\\'> 
                                          <'n - (NOTICE) Connections may drop!'>
                                        )
                                      } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<12>} {<60>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [23233]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'WIFI_DISABLED='>
                                                      name: WIFI_DISABLED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<0>}
                                                  spids: [23256]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (C {<Network_ApplyChanges>})
                                          ]
                                          spids: [23238 23252]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                                              name: TARGETMENUID
                                            )
                                          op: assign_op.Equal
                                          rhs: {<8>}
                                          spids: [23272]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [23174 23184]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: {($ Id.VSub_DollarName WIFI_HARDWARE)}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                              name: WHIP_TITLE
                                            )
                                          op: assign_op.Equal
                                          rhs: {(SQ <' Error: No Wifi Hardware was found. '>)}
                                          spids: [23297]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                      {<--yesno>} 
                                      {
                                        (DQ <'No supported Wifi Hardware was found.'> 
                                          <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nWould you like to disable WiFi? '> <Id.Lit_BadBackslash '\\'> 
                                          <'n - (NOTICE) Connections may drop!'>
                                        )
                                      } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<12>} {<60>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [23348]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'WIFI_DISABLED='>
                                                      name: WIFI_DISABLED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [23371]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (C {<Network_ApplyChanges>})
                                          ]
                                          spids: [23353 23367]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                                              name: TARGETMENUID
                                            )
                                          op: assign_op.Equal
                                          rhs: {<8>}
                                          spids: [23387]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [23281 23293]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'TARGETMENUID='>
                                          name: TARGETMENUID
                                        )
                                      op: assign_op.Equal
                                      rhs: {<10>}
                                      spids: [23396]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [23165 23166 23405 -1]
                        )
                        (case_arm
                          pat_list: [{<Test>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ 
                                                  <
'Press enter a URL address to test (eg: http://google.com)'
                                                  >
                                                )
                                              }
                                              {<8>}
                                              {<60>}
                                              {(DQ ($ Id.VSub_DollarName INTERNET_URL))}
                                              {<--title>}
                                              {(DQ <'Internet Connection Test'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [23418]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [23453]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INTERNET_URL='>
                                              name: INTERNET_URL
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                          spids: [23475]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<Network_CheckInternetConnection>})
                                  ]
                                  spids: [23457 23471]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<8>}
                                  spids: [23491]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [23409 23410 23496 -1]
                        )
                        (case_arm
                          pat_list: [{<Proxy>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<17>}
                                  spids: [23505]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [23500 23501 23510 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [22336 22350]
                )
              ]
              else_action: [
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName EXITONBACK)}
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'TARGETMENUID='>
                                  name: TARGETMENUID
                                )
                              op: assign_op.Equal
                              rhs: {<8>}
                              spids: [23552]
                            )
                          ]
                          redirects: []
                        )
                        (C {<Menu_Exit>})
                      ]
                      spids: [23530 23544]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_NetworkAdapters_Ethernet
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<8>}
                  spids: [23583]
                )
              ]
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'mode_current='> (SQ <DHCP>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ETH_MODE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'mode_current='>
                              name: mode_current
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <STATIC>)}
                          spids: [23617]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [23600 23614]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'mode_target='> (SQ <DHCP>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ETH_MODE_TARGET)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'mode_target='>
                              name: mode_target
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <STATIC>)}
                          spids: [23656]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [23639 23653]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'whip_options_total='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'description_text='> (SQ )})
            (C {<local>} 
              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                (sh_array_literal left:<Id.Op_LParen _> words:[])
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Ethernet Network Options'>)}
                  spids: [23687]
                )
              ]
              redirects: []
            )
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                          name: whiptail_menu_array
                        )
                      op: assign_op.PlusEqual
                      rhs: 
                        {
                          (sh_array_literal
                            left: <Id.Op_LParen _>
                            words: [{(DQ <'Change Mode'>)} {(DQ ($ Id.VSub_DollarName mode_target))}]
                          )
                        }
                      spids: [23694]
                    )
                  ]
                  redirects: []
                )
              terminator: <Id.Op_Semi _>
            )
            (command.DParen
              child: 
                (arith_expr.UnaryAssign
                  op_id: Id.Node_PostDPlus
                  child: ($ Id.Lit_ArithVarLike whip_options_total)
                )
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName ETH_MODE_TARGET)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                  name: whiptail_menu_array
                                )
                              op: assign_op.PlusEqual
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [{(DQ <Copy>)} {(DQ <'Copy Current address to Static'>)}]
                                  )
                                }
                              spids: [23734]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.DParen
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike whip_options_total)
                        )
                      redirects: []
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                  name: whiptail_menu_array
                                )
                              op: assign_op.PlusEqual
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {(DQ <'Static Ip'>)}
                                      {(DQ ($ Id.VSub_DollarName ETH_IP_STATIC))}
                                    ]
                                  )
                                }
                              spids: [23753]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.DParen
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike whip_options_total)
                        )
                      redirects: []
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                  name: whiptail_menu_array
                                )
                              op: assign_op.PlusEqual
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {(DQ <'Static Mask'>)}
                                      {(DQ ($ Id.VSub_DollarName ETH_MASK_STATIC))}
                                    ]
                                  )
                                }
                              spids: [23772]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.DParen
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike whip_options_total)
                        )
                      redirects: []
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                  name: whiptail_menu_array
                                )
                              op: assign_op.PlusEqual
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {(DQ <'Static Gateway'>)}
                                      {(DQ ($ Id.VSub_DollarName ETH_GATEWAY_STATIC))}
                                    ]
                                  )
                                }
                              spids: [23791]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.DParen
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike whip_options_total)
                        )
                      redirects: []
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                  name: whiptail_menu_array
                                )
                              op: assign_op.PlusEqual
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {(DQ <'Static DNS'>)}
                                      {(DQ ($ Id.VSub_DollarName ETH_DNS_STATIC))}
                                    ]
                                  )
                                }
                              spids: [23810]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.DParen
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike whip_options_total)
                        )
                      redirects: []
                    )
                  ]
                  spids: [23717 23731]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                          name: whiptail_menu_array
                        )
                      op: assign_op.PlusEqual
                      rhs: 
                        {
                          (sh_array_literal
                            left: <Id.Op_LParen _>
                            words: [{(DQ <Disable>)} {(DQ <'Disable Ethernet adapter'>)}]
                          )
                        }
                      spids: [23832]
                    )
                  ]
                  redirects: []
                )
              terminator: <Id.Op_Semi _>
            )
            (command.DParen
              child: 
                (arith_expr.UnaryAssign
                  op_id: Id.Node_PostDPlus
                  child: ($ Id.Lit_ArithVarLike whip_options_total)
                )
              redirects: []
            )
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                          name: whiptail_menu_array
                        )
                      op: assign_op.PlusEqual
                      rhs: 
                        {
                          (sh_array_literal
                            left: <Id.Op_LParen _>
                            words: [{(DQ <Apply>)} {(DQ <'Save Changes (Restart Networking)'>)}]
                          )
                        }
                      spids: [23851]
                    )
                  ]
                  redirects: []
                )
              terminator: <Id.Op_Semi _>
            )
            (command.DParen
              child: 
                (arith_expr.UnaryAssign
                  op_id: Id.Node_PostDPlus
                  child: ($ Id.Lit_ArithVarLike whip_options_total)
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'description_text='>
                      name: description_text
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ <'  Current Details: '> <Id.Lit_BadBackslash '\\'> <'n - Mode    = '> 
                        ($ Id.VSub_DollarName mode_current) <' '> <Id.Lit_BadBackslash '\\'> <'n - Ip      = '> ($ Id.VSub_DollarName ETH_IP) <' '> 
                        <Id.Lit_BadBackslash '\\'> <'n - Mask    = '> ($ Id.VSub_DollarName ETH_MASK) <Id.Lit_BadBackslash '\\'> <'n - Gateway = '> 
                        ($ Id.VSub_DollarName ETH_GATEWAY) <Id.Lit_BadBackslash '\\'> <'n - DNS     = '> ($ Id.VSub_DollarName ETH_DNS)
                      )
                    }
                  spids: [23871]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Great
                                  left: {($ Id.VSub_DollarName whip_options_total)}
                                  right: {($ Id.VSub_DollarName WHIP_OPTIONS_MAX_DISPLAY)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whip_options_total='>
                              name: whip_options_total
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName WHIP_OPTIONS_MAX_DISPLAY)}
                          spids: [23912]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [23895 23909]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'description_line_count='> 
                (word_part.ArithSub
                  anode: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Plus
                      left: {<Id.Lit_Digits 7>}
                      right: 
                        {
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName description_text))})
                                  (C {<wc>} {<-l>})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          )
                        }
                    )
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {(DQ ($ Id.VSub_DollarName description_text))}
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<--default-item>}
                              {(DQ ($ Id.VSub_DollarName WHIP_SELECTION_PREVIOUS))}
                              {
                                (word_part.ArithSub
                                  anode: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Plus
                                      left: {($ Id.VSub_DollarName description_line_count)}
                                      right: {($ Id.VSub_DollarName whip_options_total)}
                                    )
                                )
                              }
                              {<65>}
                              {($ Id.VSub_DollarName whip_options_total)}
                              {
                                (DQ 
                                  (braced_var_sub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name whiptail_menu_array>
                                    var_name: whiptail_menu_array
                                    bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                )
                              }
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [23953]
                )
              ]
              redirects: []
            )
            (C {<unset>} {<whiptail_menu_array>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [24033]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_SELECTION_PREVIOUS='>
                              name: WHIP_SELECTION_PREVIOUS
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName OPTION)}
                          spids: [24055]
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ <'Change Mode'>)}]
                          action: [
                            (command.DParen
                              child: 
                                (arith_expr.UnaryAssign
                                  op_id: Id.Node_PostDPlus
                                  child: ($ Id.Lit_ArithVarLike ETH_MODE_TARGET)
                                )
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_GreatEqual
                                                  left: {($ Id.VSub_DollarName ETH_MODE_TARGET)}
                                                  right: {<Id.Lit_Digits 2>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'ETH_MODE_TARGET='>
                                              name: ETH_MODE_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [24099]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [24082 24096]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<9>}
                                  spids: [24110]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24069 24072 24114 -1]
                        )
                        (case_arm
                          pat_list: [{<Disable>}]
                          action: [
                            (C {<whiptail>} {<--title>} {(DQ <'Ethernet is Enabled'>)} {<--yesno>} 
                              {
                                (DQ <'Would you like to disable the Ethernet adapter?'> 
                                  <Id.Lit_BadBackslash '\\'> <'n - (NOTICE) All Ethernet connections will be dropped.'>
                                )
                              } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<10>} {<60>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [24162]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'ETH_DISABLED='>
                                              name: ETH_DISABLED
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [24187]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<Network_ApplyChanges>})
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                                              name: TARGETMENUID
                                            )
                                          op: assign_op.Equal
                                          rhs: {<8>}
                                          spids: [24194]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [24170 24184]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'TARGETMENUID='>
                                          name: TARGETMENUID
                                        )
                                      op: assign_op.Equal
                                      rhs: {<9>}
                                      spids: [24205]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24117 24118 24212 -1]
                        )
                        (case_arm
                          pat_list: [{<Apply>}]
                          action: [
                            (C {<Ethernet_Reconnect>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<9>}
                                  spids: [24227]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24215 24216 24231 -1]
                        )
                        (case_arm
                          pat_list: [{<Copy>}]
                          action: [
                            (C {<Network_ETH_CopyCurrentToStatic>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<9>}
                                  spids: [24245]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24234 24235 24249 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Static Ip'>)}]
                          action: [
                            (C {<Change_StaticIp>} {<0>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<9>}
                                  spids: [24267]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24252 24255 24271 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Static Gateway'>)}]
                          action: [
                            (C {<Change_StaticGateway>} {<0>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<9>}
                                  spids: [24289]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24274 24277 24293 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Static Mask'>)}]
                          action: [
                            (C {<Change_StaticMask>} {<0>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<9>}
                                  spids: [24311]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24296 24299 24315 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Static DNS'>)}]
                          action: [
                            (C {<Change_StaticDns>} {<0>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<9>}
                                  spids: [24333]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24318 24321 24337 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [24037 24051]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HOTSPOT_SSID='> name:HOTSPOT_SSID)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [24352]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HOTSPOT_CHANNEL='> name:HOTSPOT_CHANNEL)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [24357]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HOTSPOT_KEY='> name:HOTSPOT_KEY)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [24362]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: WiFi_Monitor_Disable
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                              {<'/etc/systemd/system/dietpi-wifi-monitor.service'>} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<systemctl>} {<stop>} {<dietpi-wifi-monitor.service>})
                    (C {<rm>} {<'/etc/systemd/system/dietpi-wifi-monitor.service'>})
                    (C {<rm>} {<'/var/lib/dietpi/dietpi-wifi-monitor.sh'>})
                    (C {<systemctl>} {<daemon-reload>})
                  ]
                  spids: [24375 24386]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: WiFi_Monitor_Enable
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<_EOF_>}
                      here_end_span_id: 24513
                      stdin_parts: [
                        <'#!/bin/bash\n'>
                        <'{\n'>
                        <'URL_PING='>
                        <Id.Right_DoubleQuote '"'>
                        ($ Id.VSub_DollarName WIFI_GATEWAY)
                        <Id.Right_DoubleQuote '"'>
                        <'\n'>
                        <'ADAPTER='>
                        <Id.Right_DoubleQuote '"'>
                        <wlan>
                        ($ Id.VSub_DollarName WIFI_INDEX)
                        <Id.Right_DoubleQuote '"'>
                        <'\n'>
                        <'TICKRATE=10\n'>
                        <'while true\n'>
                        <'do\n'>
                        <'G_DIETPI-NOTIFY 2 '>
                        <Id.Right_DoubleQuote '"'>
                        <'Checking connnection for: '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <ADAPTER>
                        <Id.Right_DoubleQuote '"'>
                        <'\n'>
                        <'ping -I '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'ADAPTER -c 1 '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'URL_PING\n'>
                        <'if (( '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'? != 0 )); then\n'>
                        <'\n'>
                        <'G_DIETPI-NOTIFY 2 '>
                        <Id.Right_DoubleQuote '"'>
                        <'Detected connection loss: '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'ADAPTER. Reconnecting'>
                        <Id.Right_DoubleQuote '"'>
                        <'\n'>
                        <'ifdown '>
                        <Id.Right_DoubleQuote '"'>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <ADAPTER>
                        <Id.Right_DoubleQuote '"'>
                        <'\n'>
                        <'sleep 1\n'>
                        <'ifup '>
                        <Id.Right_DoubleQuote '"'>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <ADAPTER>
                        <Id.Right_DoubleQuote '"'>
                        <'\n'>
                        <'G_DIETPI-NOTIFY 0 \'Completed\'\n'>
                        <'\n'>
                        <'else\n'>
                        <'\n'>
                        <'G_DIETPI-NOTIFY 0 '>
                        <Id.Right_DoubleQuote '"'>
                        <'Connection '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <ADAPTER>
                        <Id.Right_DoubleQuote '"'>
                        <'\n'>
                        <'\n'>
                        <'fi\n'>
                        <'\n'>
                        <'sleep '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'TICKRATE\n'>
                        <'\n'>
                        <'done\n'>
                        <'\n'>
                        <'exit 0\n'>
                        <'}\n'>
                      ]
                    )
                )
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/var/lib/dietpi/dietpi-wifi-monitor.sh'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/var/lib/dietpi/dietpi-wifi-monitor.sh'>})
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<_EOF_>}
                      here_end_span_id: 24544
                      stdin_parts: [
                        <'[Unit]\n'>
                        <
'Description=Monitors loss of WiFi connection and automatically reconnects\n'
                        >
                        <'After=network.target network-online.target\n'>
                        <'[Service]\n'>
                        <'Type=simple\n'>
                        <'ExecStart=/bin/bash -c /var/lib/dietpi/dietpi-wifi-monitor.sh\n'>
                        <'[Install]\n'>
                        <'WantedBy=multi-user.target\n'>
                      ]
                    )
                )
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/etc/systemd/system/dietpi-wifi-monitor.service'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (C {<systemctl>} {<daemon-reload>})
            (C {<systemctl>} {<enable>} {<dietpi-wifi-monitor.service>})
            (C {<systemctl>} {<start>} {<dietpi-wifi-monitor.service>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_NetworkAdapters_Wifi
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<8>}
                  spids: [24581]
                )
              ]
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'whip_options_total='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'description_text='> (SQ )})
            (C {<local>} 
              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                (sh_array_literal left:<Id.Op_LParen _> words:[])
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName WIFI_HOTSPOT)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'DietPi - WiFi Hotspot'>)}
                          spids: [24629]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} 
                                      {(DQ ($ Id.VSub_DollarName HOTSPOT_SSID))} {<Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'HOTSPOT_SSID='>
                                      name: HOTSPOT_SSID
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<cat>} {<'/etc/hostapd/hostapd.conf'>})
                                              (C {<grep>} {<-m1>} {(SQ <'^ssid='>)})
                                              (C {<sed>} {(SQ <'s/.*=//'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [24659]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'HOTSPOT_CHANNEL='>
                                      name: HOTSPOT_CHANNEL
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<cat>} {<'/etc/hostapd/hostapd.conf'>})
                                              (C {<grep>} {<-m1>} {(SQ <'^channel='>)})
                                              (C {<sed>} {(SQ <'s/.*=//'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [24685]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'HOTSPOT_KEY='>
                                      name: HOTSPOT_KEY
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<cat>} {<'/etc/hostapd/hostapd.conf'>})
                                              (C {<grep>} {<-m1>} {(SQ <'^wpa_passphrase='>)})
                                              (C {<sed>} {(SQ <'s/.*=//'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [24711]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24640 24656]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'hotspot_active_state='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<systemctl>} {<is-active>} {<hostapd>})
                                (C {<grep>} {<-ci>} {<-m1>} {(SQ <active>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} {<Id.Lit_VarLike 'hotspot_status_text='> (SQ <Online>)})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'hotspot_active_state_text='> 
                        (SQ <': Enabled, select to turn off hotspot'>)
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Unary
                                          op_id: Id.Arith_Bang
                                          child: {($ Id.VSub_DollarName hotspot_active_state)}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'hotspot_active_state_text='>
                                      name: hotspot_active_state_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <': Disabled, select to turn on hotspot'>)}
                                  spids: [24802]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'hotspot_status_text='>
                                      name: hotspot_status_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <Offline>)}
                                  spids: [24808]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24786 24798]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                  name: whiptail_menu_array
                                )
                              op: assign_op.PlusEqual
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [{(DQ <SSID>)} {(DQ <'Change the wireless hotspot name'>)}]
                                  )
                                }
                              spids: [24819]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.DParen
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike whip_options_total)
                        )
                      redirects: []
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                  name: whiptail_menu_array
                                )
                              op: assign_op.PlusEqual
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [{(DQ <Channel>)} {(DQ <'Change the wireless channel'>)}]
                                  )
                                }
                              spids: [24838]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.DParen
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike whip_options_total)
                        )
                      redirects: []
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                  name: whiptail_menu_array
                                )
                              op: assign_op.PlusEqual
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {(DQ <Key>)}
                                      {(DQ <'Change the access key required to connect'>)}
                                    ]
                                  )
                                }
                              spids: [24857]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.DParen
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike whip_options_total)
                        )
                      redirects: []
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                  name: whiptail_menu_array
                                )
                              op: assign_op.PlusEqual
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {(DQ <State>)}
                                      {(DQ <': '> ($ Id.VSub_DollarName hotspot_active_state_text))}
                                    ]
                                  )
                                }
                              spids: [24876]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.DParen
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike whip_options_total)
                        )
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'description_text='>
                              name: description_text
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ <'SSID    : '> ($ Id.VSub_DollarName HOTSPOT_SSID) 
                                <Id.Lit_BadBackslash '\\'> <'nChannel : '> ($ Id.VSub_DollarName HOTSPOT_CHANNEL) <Id.Lit_BadBackslash '\\'> <'nKey     : '> 
                                ($ Id.VSub_DollarName HOTSPOT_KEY) <Id.Lit_BadBackslash '\\'> <'nStatus  : '> ($ Id.VSub_DollarName hotspot_status_text)
                              )
                            }
                          spids: [24897]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [24611 24625]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                      op: assign_op.Equal
                      rhs: {(SQ <'DietPi - Wireless Network Options'>)}
                      spids: [24922]
                    )
                  ]
                  redirects: []
                )
                (C {<local>} {<Id.Lit_VarLike 'mode_current='> (SQ <DHCP>)})
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName WIFI_MODE)}
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'mode_current='>
                                  name: mode_current
                                )
                              op: assign_op.Equal
                              rhs: {(SQ <STATIC>)}
                              spids: [24959]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [24941 24955]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
                (C {<local>} {<Id.Lit_VarLike 'mode_target='> (SQ <DHCP>)})
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName WIFI_MODE_TARGET)}
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'mode_target='>
                                  name: mode_target
                                )
                              op: assign_op.Equal
                              rhs: {(SQ <STATIC>)}
                              spids: [25000]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [24982 24996]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
                (command.Sentence
                  child: 
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [{(DQ <Scan>)} {(DQ <'Scan and Connect'>)}]
                              )
                            }
                          spids: [25011]
                        )
                      ]
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
                (command.DParen
                  child: 
                    (arith_expr.UnaryAssign
                      op_id: Id.Node_PostDPlus
                      child: ($ Id.Lit_ArithVarLike whip_options_total)
                    )
                  redirects: []
                )
                (command.Sentence
                  child: 
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [{(DQ <Manual>)} {(DQ <'Manually Set Wireless Details'>)}]
                              )
                            }
                          spids: [25030]
                        )
                      ]
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
                (command.DParen
                  child: 
                    (arith_expr.UnaryAssign
                      op_id: Id.Node_PostDPlus
                      child: ($ Id.Lit_ArithVarLike whip_options_total)
                    )
                  redirects: []
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DPipe
                                      left: {($ Id.VSub_DollarName WIFI_CONNECTED)}
                                      right: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {<systemctl>} {<is-active>} 
                                                    {<dietpi-wifi-monitor.service>}
                                                  )
                                                  (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^active'>)})
                                                ]
                                                negated: F
                                                stderr_indices: []
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (C {<local>} {<Id.Lit_VarLike 'wifi_auto_reconnect_text='> (SQ <Disabled>)})
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'WIFI_AUTO_RECONNECT_ACTIVE='>
                                  name: WIFI_AUTO_RECONNECT_ACTIVE
                                )
                              op: assign_op.Equal
                              rhs: {<0>}
                              spids: [25095]
                            )
                          ]
                          redirects: []
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<systemctl>} {<is-active>} 
                                                        {<dietpi-wifi-monitor.service>}
                                                      )
                                                      (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^active'>)})
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'WIFI_AUTO_RECONNECT_ACTIVE='>
                                          name: WIFI_AUTO_RECONNECT_ACTIVE
                                        )
                                      op: assign_op.Equal
                                      rhs: {<1>}
                                      spids: [25131]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'wifi_auto_reconnect_text='>
                                          name: wifi_auto_reconnect_text
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <Enabled>)}
                                      spids: [25135]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [25099 25127]
                            )
                          ]
                          else_action: []
                          redirects: []
                        )
                        (command.Sentence
                          child: 
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(DQ <'Auto Reconnect'>)}
                                          {
                                            (DQ <': '> ($ Id.VSub_DollarName wifi_auto_reconnect_text))
                                          }
                                        ]
                                      )
                                    }
                                  spids: [25146]
                                )
                              ]
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                        (command.DParen
                          child: 
                            (arith_expr.UnaryAssign
                              op_id: Id.Node_PostDPlus
                              child: ($ Id.Lit_ArithVarLike whip_options_total)
                            )
                          redirects: []
                        )
                      ]
                      spids: [25050 25083]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
                (command.Sentence
                  child: 
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <'Change Mode'>)}
                                  {(DQ <': '> ($ Id.VSub_DollarName mode_target))}
                                ]
                              )
                            }
                          spids: [25171]
                        )
                      ]
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
                (command.DParen
                  child: 
                    (arith_expr.UnaryAssign
                      op_id: Id.Node_PostDPlus
                      child: ($ Id.Lit_ArithVarLike whip_options_total)
                    )
                  redirects: []
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName WIFI_MODE_TARGET)}
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.Sentence
                          child: 
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(DQ <Copy>)} {(DQ <'Copy Current address to Static'>)}]
                                      )
                                    }
                                  spids: [25214]
                                )
                              ]
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                        (command.DParen
                          child: 
                            (arith_expr.UnaryAssign
                              op_id: Id.Node_PostDPlus
                              child: ($ Id.Lit_ArithVarLike whip_options_total)
                            )
                          redirects: []
                        )
                        (command.Sentence
                          child: 
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(DQ <'Static Ip'>)}
                                          {(DQ <': '> ($ Id.VSub_DollarName WIFI_IP_STATIC))}
                                        ]
                                      )
                                    }
                                  spids: [25233]
                                )
                              ]
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                        (command.DParen
                          child: 
                            (arith_expr.UnaryAssign
                              op_id: Id.Node_PostDPlus
                              child: ($ Id.Lit_ArithVarLike whip_options_total)
                            )
                          redirects: []
                        )
                        (command.Sentence
                          child: 
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(DQ <'Static Mask'>)}
                                          {(DQ <': '> ($ Id.VSub_DollarName WIFI_MASK_STATIC))}
                                        ]
                                      )
                                    }
                                  spids: [25253]
                                )
                              ]
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                        (command.DParen
                          child: 
                            (arith_expr.UnaryAssign
                              op_id: Id.Node_PostDPlus
                              child: ($ Id.Lit_ArithVarLike whip_options_total)
                            )
                          redirects: []
                        )
                        (command.Sentence
                          child: 
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(DQ <'Static Gateway'>)}
                                          {(DQ <': '> ($ Id.VSub_DollarName WIFI_GATEWAY_STATIC))}
                                        ]
                                      )
                                    }
                                  spids: [25273]
                                )
                              ]
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                        (command.DParen
                          child: 
                            (arith_expr.UnaryAssign
                              op_id: Id.Node_PostDPlus
                              child: ($ Id.Lit_ArithVarLike whip_options_total)
                            )
                          redirects: []
                        )
                        (command.Sentence
                          child: 
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(DQ <'Static DNS'>)}
                                          {(DQ <': '> ($ Id.VSub_DollarName WIFI_DNS_STATIC))}
                                        ]
                                      )
                                    }
                                  spids: [25293]
                                )
                              ]
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                        (command.DParen
                          child: 
                            (arith_expr.UnaryAssign
                              op_id: Id.Node_PostDPlus
                              child: ($ Id.Lit_ArithVarLike whip_options_total)
                            )
                          redirects: []
                        )
                      ]
                      spids: [25196 25210]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
                (command.Sentence
                  child: 
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [{(DQ <Disable>)} {(DQ <'Disable WiFi adapter'>)}]
                              )
                            }
                          spids: [25318]
                        )
                      ]
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
                (command.DParen
                  child: 
                    (arith_expr.UnaryAssign
                      op_id: Id.Node_PostDPlus
                      child: ($ Id.Lit_ArithVarLike whip_options_total)
                    )
                  redirects: []
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'description_text='>
                          name: description_text
                        )
                      op: assign_op.Equal
                      rhs: 
                        {
                          (DQ <' Current Details: '> <Id.Lit_BadBackslash '\\'> <'n - SSID    = '> 
                            ($ Id.VSub_DollarName WIFI_SSID) <' | '> ($ Id.VSub_DollarName WIFI_BITRATE) <' Mbit | Strength: '> 
                            ($ Id.VSub_DollarName WIFI_SIGNALSTRENGTH) <Id.Lit_BadBackslash '\\'> <'n - KEY     = '> ($ Id.VSub_DollarName WIFI_KEY) <' '> 
                            <Id.Lit_BadBackslash '\\'> <'n - Mode    = '> ($ Id.VSub_DollarName mode_current) <' '> <Id.Lit_BadBackslash '\\'> 
                            <'n - Ip      = '> ($ Id.VSub_DollarName WIFI_IP) <Id.Lit_BadBackslash '\\'> <'n - Mask    = '> 
                            ($ Id.VSub_DollarName WIFI_MASK) <Id.Lit_BadBackslash '\\'> <'n - DNS     = '> ($ Id.VSub_DollarName WIFI_DNS)
                          )
                        }
                      spids: [25338]
                    )
                  ]
                  redirects: []
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName WIFI_COUNTRYCODE))} 
                              {<Id.Lit_Equals '='>} {(DQ <00>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                  name: whiptail_menu_array
                                )
                              op: assign_op.PlusEqual
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {(DQ <Country>)}
                                      {
                                        (DQ <'Not set, please configure ('> 
                                          ($ Id.VSub_DollarName WIFI_COUNTRYCODE) <')'>
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [25397]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.DParen
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike whip_options_total)
                        )
                      redirects: []
                    )
                  ]
                  spids: [25377 25394]
                )
              ]
              else_action: [
                (command.Sentence
                  child: 
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <Country>)}
                                  {(DQ <': '> ($ Id.VSub_DollarName WIFI_COUNTRYCODE))}
                                ]
                              )
                            }
                          spids: [25421]
                        )
                      ]
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
                (command.DParen
                  child: 
                    (arith_expr.UnaryAssign
                      op_id: Id.Node_PostDPlus
                      child: ($ Id.Lit_ArithVarLike whip_options_total)
                    )
                  redirects: []
                )
              ]
              redirects: []
            )
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                          name: whiptail_menu_array
                        )
                      op: assign_op.PlusEqual
                      rhs: 
                        {
                          (sh_array_literal
                            left: <Id.Op_LParen _>
                            words: [{(DQ <Apply>)} {(DQ <'Save Changes (Restart Networking)'>)}]
                          )
                        }
                      spids: [25445]
                    )
                  ]
                  redirects: []
                )
              terminator: <Id.Op_Semi _>
            )
            (command.DParen
              child: 
                (arith_expr.UnaryAssign
                  op_id: Id.Node_PostDPlus
                  child: ($ Id.Lit_ArithVarLike whip_options_total)
                )
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Great
                                  left: {($ Id.VSub_DollarName whip_options_total)}
                                  right: {($ Id.VSub_DollarName WHIP_OPTIONS_MAX_DISPLAY)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whip_options_total='>
                              name: whip_options_total
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName WHIP_OPTIONS_MAX_DISPLAY)}
                          spids: [25482]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [25465 25479]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'description_line_count='> 
                (word_part.ArithSub
                  anode: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Plus
                      left: {<Id.Lit_Digits 7>}
                      right: 
                        {
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName description_text))})
                                  (C {<wc>} {<-l>})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          )
                        }
                    )
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {(DQ ($ Id.VSub_DollarName description_text))}
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<--default-item>}
                              {(DQ ($ Id.VSub_DollarName WHIP_SELECTION_PREVIOUS))}
                              {
                                (word_part.ArithSub
                                  anode: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Plus
                                      left: {($ Id.VSub_DollarName description_line_count)}
                                      right: {($ Id.VSub_DollarName whip_options_total)}
                                    )
                                )
                              }
                              {<65>}
                              {($ Id.VSub_DollarName whip_options_total)}
                              {
                                (DQ 
                                  (braced_var_sub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name whiptail_menu_array>
                                    var_name: whiptail_menu_array
                                    bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                )
                              }
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [25523]
                )
              ]
              redirects: []
            )
            (C {<unset>} {<whiptail_menu_array>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [25603]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_SELECTION_PREVIOUS='>
                              name: WHIP_SELECTION_PREVIOUS
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName OPTION)}
                          spids: [25625]
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ <'Auto Reconnect'>)}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: 
                                                    {
                                                      ($ Id.VSub_DollarName 
WIFI_AUTO_RECONNECT_ACTIVE
                                                      )
                                                    }
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [(C {<WiFi_Monitor_Enable>})]
                                  spids: [25646 25658]
                                )
                              ]
                              else_action: [(C {<WiFi_Monitor_Disable>})]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [25682]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [25639 25642 25687 -1]
                        )
                        (case_arm
                          pat_list: [{<Key>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ 
                                                  <
'Please enter a key/password for the WiFi hotspot'
                                                  > <Id.Lit_BadBackslash '\\'> <'n - NB: Minimum of 8 characters'>
                                                )
                                              }
                                              {<9>}
                                              {<70>}
                                              {(DQ ($ Id.VSub_DollarName HOTSPOT_KEY))}
                                              {<--title>}
                                              {(DQ <'Change Hotspot Access Key'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [25694]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [25731]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'HOTSPOT_KEY='>
                                              name: HOTSPOT_KEY
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                          spids: [25752]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [25735 25749]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [25763]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [25690 25691 25767 -1]
                        )
                        (case_arm
                          pat_list: [{<SSID>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {(DQ <'Please enter a SSID for the WiFi hotspot'>)}
                                              {<8>}
                                              {<65>}
                                              {(DQ ($ Id.VSub_DollarName HOTSPOT_SSID))}
                                              {<--title>}
                                              {(DQ <'Change Hotspot SSID'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [25774]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [25809]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'HOTSPOT_SSID='>
                                              name: HOTSPOT_SSID
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                          spids: [25830]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [25813 25827]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [25842]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [25770 25771 25846 -1]
                        )
                        (case_arm
                          pat_list: [{<Channel>}]
                          action: [
                            (C {<local>} 
                              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                                (sh_array_literal
                                  left: <Id.Op_LParen _>
                                  words: []
                                )
                              }
                            )
                            (C {<local>} {<Id.Lit_VarLike 'channel_mhz='> <2412>})
                            (C {<local>} {<Id.Lit_VarLike 'channel_min='> <1>})
                            (C {<local>} {<Id.Lit_VarLike 'channel_max='> <13>})
                            (command.ForExpr
                              init: 
                                (arith_expr.BinaryAssign
                                  op_id: Id.Arith_Equal
                                  left: ($ Id.Lit_ArithVarLike i)
                                  right: {($ Id.VSub_DollarName channel_min)}
                                )
                              cond: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_LessEqual
                                  left: ($ Id.Lit_ArithVarLike i)
                                  right: {($ Id.VSub_DollarName channel_max)}
                                )
                              update: 
                                (arith_expr.UnaryAssign
                                  op_id: Id.Node_PostDPlus
                                  child: ($ Id.Lit_ArithVarLike i)
                                )
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ ($ Id.VSub_DollarName i) <' '>)}
                                                  {(DQ ($ Id.VSub_DollarName channel_mhz) <' MHz'>)}
                                                ]
                                              )
                                            }
                                          spids: [25904]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.DParen
                                      child: 
                                        (arith_expr.BinaryAssign
                                          op_id: Id.Arith_PlusEqual
                                          left: ($ Id.Lit_ArithVarLike channel_mhz)
                                          right: {<Id.Lit_Digits 5>}
                                        )
                                      redirects: []
                                    )
                                  ]
                                )
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ <'Change Hotspot Channel'>)}
                                              {<--menu>}
                                              {(DQ <'Please select a WiFi channel for the hotspot.'>)}
                                              {<--cancel-button>}
                                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                              {<--backtitle>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                              {<16>}
                                              {<60>}
                                              {<7>}
                                              {
                                                (DQ 
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name whiptail_menu_array>
                                                    var_name: whiptail_menu_array
                                                    bracket_op: 
                                                      (bracket_op.WholeArray
                                                        op_id: Id.Lit_At
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                )
                                              }
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [25933]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [25987]
                                )
                              ]
                              redirects: []
                            )
                            (C {<unset>} {<whiptail_menu_array>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'HOTSPOT_CHANNEL='>
                                              name: HOTSPOT_CHANNEL
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                          spids: [26015]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [25998 26012]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [26027]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [25849 25850 26031 -1]
                        )
                        (case_arm
                          pat_list: [{<Country>}]
                          action: [
                            (C {<Change_WifiCountryCode>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [26045]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26034 26035 26049 -1]
                        )
                        (case_arm
                          pat_list: [{<Disable>}]
                          action: [
                            (C {<whiptail>} {<--title>} {(DQ <'WiFi is Enabled'>)} {<--yesno>} 
                              {
                                (DQ <'Would you like to disable the WiFi adapter?'> 
                                  <Id.Lit_BadBackslash '\\'> <'n - (NOTICE) All WiFi connections will be dropped.'>
                                )
                              } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<10>} {<60>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [26097]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WIFI_DISABLED='>
                                              name: WIFI_DISABLED
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [26123]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<WiFi_Monitor_Disable>})
                                    (C {<Network_ApplyChanges>})
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                                              name: TARGETMENUID
                                            )
                                          op: assign_op.Equal
                                          rhs: {<8>}
                                          spids: [26134]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [26105 26119]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'TARGETMENUID='>
                                          name: TARGETMENUID
                                        )
                                      op: assign_op.Equal
                                      rhs: {<10>}
                                      spids: [26145]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26052 26053 26152 -1]
                        )
                        (case_arm
                          pat_list: [{<Scan>}]
                          action: [
                            (C {<Scan_Wifi>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [26166]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26155 26156 26170 -1]
                        )
                        (case_arm
                          pat_list: [{<Manual>}]
                          action: [
                            (C {<Change_WifiSsid>})
                            (C {<Change_WifiKey>})
                            (C {<Wifi_Reconnect>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [26190]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26173 26174 26194 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Change Mode'>)}]
                          action: [
                            (command.DParen
                              child: 
                                (arith_expr.UnaryAssign
                                  op_id: Id.Node_PostDPlus
                                  child: ($ Id.Lit_ArithVarLike WIFI_MODE_TARGET)
                                )
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_GreatEqual
                                                  left: {($ Id.VSub_DollarName WIFI_MODE_TARGET)}
                                                  right: {<Id.Lit_Digits 2>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WIFI_MODE_TARGET='>
                                              name: WIFI_MODE_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [26227]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [26210 26224]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [26238]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26197 26200 26242 -1]
                        )
                        (case_arm
                          pat_list: [{<Apply>}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName WIFI_HOTSPOT)}
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/SOFTWARE_WIFI_HOTSPOT_SSID=/c'> 
                                          <Id.Lit_BadBackslash '\\'> <'SOFTWARE_WIFI_HOTSPOT_SSID='> ($ Id.VSub_DollarName HOTSPOT_SSID)
                                        )
                                      } {<'/DietPi/dietpi.txt'>}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/SOFTWARE_WIFI_HOTSPOT_CHANNEL=/c'> 
                                          <Id.Lit_BadBackslash '\\'> <'SOFTWARE_WIFI_HOTSPOT_CHANNEL='> ($ Id.VSub_DollarName HOTSPOT_CHANNEL)
                                        )
                                      } {<'/DietPi/dietpi.txt'>}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/SOFTWARE_WIFI_HOTSPOT_KEY=/c'> 
                                          <Id.Lit_BadBackslash '\\'> <'SOFTWARE_WIFI_HOTSPOT_KEY='> ($ Id.VSub_DollarName HOTSPOT_KEY)
                                        )
                                      } {<'/DietPi/dietpi.txt'>}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/ssid=/c'> <Id.Lit_BadBackslash '\\'> <'ssid='> 
                                          ($ Id.VSub_DollarName HOTSPOT_SSID)
                                        )
                                      } {<'/etc/hostapd/hostapd.conf'>}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/channel=/c'> <Id.Lit_BadBackslash '\\'> <'channel='> 
                                          ($ Id.VSub_DollarName HOTSPOT_CHANNEL)
                                        )
                                      } {<'/etc/hostapd/hostapd.conf'>}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/wpa_passphrase=/c'> <Id.Lit_BadBackslash '\\'> 
                                          <'wpa_passphrase='> ($ Id.VSub_DollarName HOTSPOT_KEY)
                                        )
                                      } {<'/etc/hostapd/hostapd.conf'>}
                                    )
                                    (C {<Network_ApplyChanges>})
                                  ]
                                  spids: [26249 26263]
                                )
                              ]
                              else_action: [(C {<Wifi_Reconnect>})]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [26382]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26245 26246 26386 -1]
                        )
                        (case_arm
                          pat_list: [{<Copy>}]
                          action: [
                            (C {<Network_WIFI_CopyCurrentToStatic>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [26400]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26389 26390 26404 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Static Ip'>)}]
                          action: [
                            (C {<Change_StaticIp>} {<1>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [26422]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26407 26410 26426 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Static Gateway'>)}]
                          action: [
                            (C {<Change_StaticGateway>} {<1>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [26444]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26429 26432 26448 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Static Mask'>)}]
                          action: [
                            (C {<Change_StaticMask>} {<1>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [26466]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26451 26454 26470 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Static DNS'>)}]
                          action: [
                            (C {<Change_StaticDns>} {<1>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [26488]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26473 26476 26492 -1]
                        )
                        (case_arm
                          pat_list: [{<State>}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: {($ Id.VSub_DollarName hotspot_active_state)}
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [(C {<systemctl>} {<stop>} {<hostapd>})]
                                  spids: [26500 26510]
                                )
                              ]
                              else_action: [(C {<systemctl>} {<start>} {<hostapd>})]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [26542]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26495 26496 26547 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [25607 25621]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_Tools
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [26572]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Tools'>)}
                  spids: [26577]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {(DQ <'Please select an option:'>)}
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<10>}
                              {<70>}
                              {<2>}
                              {(DQ <Benchmarks>)}
                              {(DQ <'Filesystem and RAM benchmarks.'>)}
                              {(DQ <'Stress Test'>)}
                              {(DQ <'CPU Burn and system stability tests (CPU/IO/RAM)'>)}
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [26583]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [26648]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{<Benchmarks>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<12>}
                                  spids: [26685]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26680 26681 26690 -1]
                        )
                        (case_arm
                          pat_list: [{(SQ <'Stress Test'>)}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<15>}
                                  spids: [26701]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26694 26697 26706 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [26652 26666]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CPUBENCH_TIME='> name:CPUBENCH_TIME)
          op: assign_op.Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26726]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CPUBENCH_INT_MAX='> name:CPUBENCH_INT_MAX)
          op: assign_op.Equal
          rhs: {<1000000>}
          spids: [26732]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SD_WRITE='> name:SD_WRITE)
          op: assign_op.Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26736]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SD_READ='> name:SD_READ)
          op: assign_op.Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26742]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USB_WRITE='> name:USB_WRITE)
          op: assign_op.Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26748]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USB_READ='> name:USB_READ)
          op: assign_op.Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26754]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RAM_WRITE='> name:RAM_WRITE)
          op: assign_op.Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26760]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RAM_READ='> name:RAM_READ)
          op: assign_op.Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26766]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CUSTOM_WRITE='> name:CUSTOM_WRITE)
          op: assign_op.Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26772]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CUSTOM_READ='> name:CUSTOM_READ)
          op: assign_op.Equal
          rhs: {(SQ <'Not Tested'>)}
          spids: [26778]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FP_CUSTOM_MOUNT='> name:FP_CUSTOM_MOUNT)
          op: assign_op.Equal
          rhs: {(SQ )}
          spids: [26784]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: Run_FilesystemBenchmark
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} {<Id.Lit_VarLike 'device_index='> ($ Id.VSub_Number 1)})
            (C {<local>} {<Id.Lit_VarLike 'benchmark_temp_file='> (DQ )})
            (C {<local>} {<Id.Lit_VarLike 'read_speed='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'write_speed='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'run_benchmark='> <1>})
            (C {<local>} {<Id.Lit_VarLike 'benchmark_filesize='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'benchmark_filesystem_freespace='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'benchmark_filesystem_offset='> <10>})
            (C {<local>} {<Id.Lit_VarLike 'text_info_test_name='> (DQ )})
            (C {<local>} {<Id.Lit_VarLike 'min_benchmark_size='> <10>})
            (C {<clear>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName device_index)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'text_info_test_name='>
                              name: text_info_test_name
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <RootFS>)}
                          spids: [26886]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'benchmark_temp_file='>
                              name: benchmark_temp_file
                            )
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName HOME) <'/benchmark.file'>)}
                          spids: [26892]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'benchmark_filesystem_freespace='>
                              name: benchmark_filesystem_freespace
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Minus
                                    left: 
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (command.Pipeline
                                              children: [
                                                (C {<df>} {<-m>})
                                                (C {<grep>} {<-m1>} 
                                                  {
                                                    (DQ 
                                                      (command_sub
                                                        left_token: <Id.Left_DollarParen '$('>
                                                        child: 
                                                          (C {<sed>} {<-n>} {<4p>} 
                                                            {<'/DietPi/dietpi/.hw_model'>}
                                                          )
                                                        right: <Id.Eof_RParen _>
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {<awk>} {(SQ <'{print $4}'>)})
                                              ]
                                              negated: F
                                              stderr_indices: []
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      }
                                    right: {($ Id.VSub_DollarName benchmark_filesystem_offset)}
                                  )
                              )
                            }
                          spids: [26899]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [26868 26882]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName device_index)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'text_info_test_name='>
                              name: text_info_test_name
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'USB harddrive'>)}
                          spids: [26961]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'benchmark_temp_file='>
                              name: benchmark_temp_file
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<df>} {<-P>})
                                        (C {<grep>} {<-m1>} {(SQ <'^/dev/sda1'>)})
                                        (C {<awk>} {(SQ <'{print $6}'>)})
                                      ]
                                      negated: F
                                      stderr_indices: []
                                    )
                                  right: <Id.Eof_RParen _>
                                ) <'/benchmark.file'>
                              )
                            }
                          spids: [26967]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'benchmark_filesystem_freespace='>
                              name: benchmark_filesystem_freespace
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Minus
                                    left: 
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (command.Pipeline
                                              children: [
                                                (C {<df>} {<-m>})
                                                (C {<grep>} {<-m1>} {(SQ <'^/dev/sda1'>)})
                                                (C {<awk>} {(SQ <'{print $4}'>)})
                                              ]
                                              negated: F
                                              stderr_indices: []
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      }
                                    right: {($ Id.VSub_DollarName benchmark_filesystem_offset)}
                                  )
                              )
                            }
                          spids: [26996]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [26943 26957]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName device_index)}
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'text_info_test_name='>
                              name: text_info_test_name
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <RAM>)}
                          spids: [27050]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'benchmark_temp_file='>
                              name: benchmark_temp_file
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'/tmp/benchmark.file'>)}
                          spids: [27056]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'benchmark_filesystem_freespace='>
                              name: benchmark_filesystem_freespace
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Minus
                                    left: 
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (command.Pipeline
                                              children: [
                                                (C {<df>} {<-m>})
                                                (C {<grep>} {<-m1>} {(SQ <'/tmp'>)})
                                                (C {<awk>} {(SQ <'{print $4}'>)})
                                              ]
                                              negated: F
                                              stderr_indices: []
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      }
                                    right: {($ Id.VSub_DollarName benchmark_filesystem_offset)}
                                  )
                              )
                            }
                          spids: [27062]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [27032 27046]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName device_index)}
                                  right: {<Id.Lit_Digits 3>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'text_info_test_name='>
                              name: text_info_test_name
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <Custom>)}
                          spids: [27116]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'benchmark_temp_file='>
                              name: benchmark_temp_file
                            )
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName FP_CUSTOM_MOUNT) <'/benchmark.file'>)}
                          spids: [27122]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'benchmark_filesystem_freespace='>
                              name: benchmark_filesystem_freespace
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Minus
                                    left: 
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (command.Pipeline
                                              children: [
                                                (C {<df>} {<-m>})
                                                (C {<grep>} {<-m1>} 
                                                  {
                                                    (DQ ($ Id.VSub_DollarName FP_CUSTOM_MOUNT) 
                                                      <Id.Lit_Dollar '$'>
                                                    )
                                                  }
                                                )
                                                (C {<awk>} {(SQ <'{print $4}'>)})
                                              ]
                                              negated: F
                                              stderr_indices: []
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      }
                                    right: {($ Id.VSub_DollarName benchmark_filesystem_offset)}
                                  )
                              )
                            }
                          spids: [27129]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [27098 27112]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: {($ Id.VSub_DollarName benchmark_filesystem_freespace)}
                                  right: {($ Id.VSub_DollarName min_benchmark_size)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'run_benchmark='>
                              name: run_benchmark
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [27192]
                        )
                      ]
                      redirects: []
                    )
                    (C {<echo>} {<-e>} 
                      {
                        (DQ <'(EE): Insufficient space to run '> 
                          ($ Id.VSub_DollarName text_info_test_name) <' filesystem benchmark.'> <Id.Lit_BadBackslash '\\'> <'n - Available space: '> 
                          ($ Id.VSub_DollarName benchmark_filesystem_freespace) <' MB'> <Id.Lit_BadBackslash '\\'> <'n - Space required: '> ($ Id.VSub_DollarName min_benchmark_size) 
                          <' MB'>
                        )
                      }
                    )
                    (C {<echo>} {<-e>} {(DQ )})
                    (C {<read>} {<-p>} {(DQ <'Press any key to continue.....'>)})
                  ]
                  spids: [27174 27188]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'benchmark_filesize='>
                          name: benchmark_filesize
                        )
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Simple
                                words: [
                                  {<whiptail>}
                                  {<--inputbox>}
                                  {
                                    (DQ 
                                      <
'Please enter a filesize test value (MB). A value of 100 is recommended.'
                                      > <Id.Lit_BadBackslash '\\'> <'n- Minimum value: '> ($ Id.VSub_DollarName min_benchmark_size) 
                                      <Id.Lit_BadBackslash '\\'> <'n- Maximum possible value: '> ($ Id.VSub_DollarName benchmark_filesystem_freespace)
                                    )
                                  }
                                  {<10>}
                                  {<70>}
                                  {(DQ <100>)}
                                  {<--title>}
                                  {(DQ <'Benchmark File Size (MB)'>)}
                                ]
                                redirects: [
                                  (redir
                                    op: <Id.Redir_GreatAnd '3>&'>
                                    loc: (redir_loc.Fd fd:3)
                                    arg: {<1>}
                                  )
                                  (redir
                                    op: <Id.Redir_GreatAnd '1>&'>
                                    loc: (redir_loc.Fd fd:1)
                                    arg: {<2>}
                                  )
                                  (redir
                                    op: <Id.Redir_GreatAnd '2>&'>
                                    loc: (redir_loc.Fd fd:2)
                                    arg: {<3>}
                                  )
                                ]
                                more_env: []
                                do_fork: T
                              )
                            right: <Id.Eof_RParen _>
                          )
                        }
                      spids: [27241]
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_QMark '?')}
                      spids: [27282]
                    )
                  ]
                  redirects: []
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName CHOICE)}
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.AndOr
                                          ops: [Id.Op_DAmp]
                                          children: [
                                            (command.DBracket
                                              expr: 
                                                (bool_expr.Binary
                                                  op_id: Id.BoolBinary_EqualTilde
                                                  left: {($ Id.VSub_DollarName benchmark_filesize)}
                                                  right: 
                                                    {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> 
                                                      <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                                                    }
                                                )
                                              redirects: []
                                            )
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Great
                                                  left: {($ Id.VSub_DollarName benchmark_filesize)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          ]
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_Less
                                                      left: 
                                                        {
                                                          ($ Id.VSub_DollarName 
benchmark_filesystem_freespace
                                                          )
                                                        }
                                                      right: 
                                                        {($ Id.VSub_DollarName benchmark_filesize)}
                                                    )
                                                  redirects: []
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'run_benchmark='>
                                                  name: run_benchmark
                                                )
                                              op: assign_op.Equal
                                              rhs: {<0>}
                                              spids: [27367]
                                            )
                                          ]
                                          redirects: []
                                        )
                                        (C {<echo>} {<-e>} 
                                          {
                                            (DQ <'(EE): Insufficient space to run '> 
                                              ($ Id.VSub_DollarName text_info_test_name) <' filesystem benchmark.'> <Id.Lit_BadBackslash '\\'> <'n - Requested benchmark size: '> 
                                              ($ Id.VSub_DollarName benchmark_filesize) <' MB'> <Id.Lit_BadBackslash '\\'> <'n - Available space for benchmark: '> 
                                              ($ Id.VSub_DollarName benchmark_filesystem_freespace) <' MB'>
                                            )
                                          }
                                        )
                                        (C {<echo>} {<-e>} {(DQ )})
                                        (C {<read>} {<-p>} {(DQ <'Press any key to continue.....'>)})
                                      ]
                                      spids: [27349 27363]
                                    )
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_Less
                                                      left: 
                                                        {($ Id.VSub_DollarName benchmark_filesize)}
                                                      right: 
                                                        {($ Id.VSub_DollarName min_benchmark_size)}
                                                    )
                                                  redirects: []
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'run_benchmark='>
                                                  name: run_benchmark
                                                )
                                              op: assign_op.Equal
                                              rhs: {<0>}
                                              spids: [27430]
                                            )
                                          ]
                                          redirects: []
                                        )
                                        (C {<echo>} {<-e>} 
                                          {
                                            (DQ <'(EE): Your requested benchmark size of '> 
                                              ($ Id.VSub_DollarName benchmark_filesize) <' MB is too small.'>
                                            )
                                          }
                                        )
                                        (C {<echo>} {<-e>} {(DQ )})
                                        (C {<read>} {<-p>} {(DQ <'Press any key to continue.....'>)})
                                      ]
                                      spids: [27412 27426]
                                    )
                                  ]
                                  else_action: []
                                  redirects: []
                                )
                              ]
                              spids: [27308 27341]
                            )
                          ]
                          else_action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'run_benchmark='>
                                      name: run_benchmark
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                  spids: [27475]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [27286 27300]
                    )
                  ]
                  else_action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'run_benchmark='>
                              name: run_benchmark
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [27492]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  redirects: []
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName run_benchmark)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {
                        (DQ <'Performing '> ($ Id.VSub_DollarName text_info_test_name) 
                          <' benchmark, please wait...'>
                        )
                      }
                    )
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {
                        (DQ <'Testing Seq Write Speed ('> ($ Id.VSub_DollarName benchmark_filesize) 
                          <' MB)'>
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'write_speed='>
                                      name: write_speed
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (command.Simple
                                                words: [
                                                  {<dd>}
                                                  {<Id.Lit_VarLike 'bs='> <4K>}
                                                  {<Id.Lit_VarLike 'count='> 
                                                    (word_part.ArithSub
                                                      anode: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_Slash
                                                          left: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_Star
                                                              left: 
                                                                {
                                                                  ($ Id.VSub_DollarName 
benchmark_filesize
                                                                  )
                                                                }
                                                              right: {<Id.Lit_Digits 1024>}
                                                            )
                                                          right: {<Id.Lit_Digits 4>}
                                                        )
                                                    )
                                                  }
                                                  {<Id.Lit_VarLike 'if='> <'/dev/zero'>}
                                                  {<Id.Lit_VarLike 'of='> 
                                                    ($ Id.VSub_DollarName benchmark_temp_file)
                                                  }
                                                  {<Id.Lit_VarLike 'conv='> <fdatasync>}
                                                ]
                                                redirects: [
                                                  (redir
                                                    op: <Id.Redir_GreatAnd '2>&'>
                                                    loc: (redir_loc.Fd fd:2)
                                                    arg: {<1>}
                                                  )
                                                ]
                                                more_env: []
                                                do_fork: T
                                              )
                                              (C {<grep>} {(SQ <MB>)})
                                              (C {<awk>} {(SQ <'{print $8, $9}'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [27569]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [27551 27565]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'write_speed='>
                                      name: write_speed
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (command.Simple
                                                words: [
                                                  {<dd>}
                                                  {<Id.Lit_VarLike 'bs='> <4K>}
                                                  {<Id.Lit_VarLike 'count='> 
                                                    (word_part.ArithSub
                                                      anode: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_Slash
                                                          left: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_Star
                                                              left: 
                                                                {
                                                                  ($ Id.VSub_DollarName 
benchmark_filesize
                                                                  )
                                                                }
                                                              right: {<Id.Lit_Digits 1024>}
                                                            )
                                                          right: {<Id.Lit_Digits 4>}
                                                        )
                                                    )
                                                  }
                                                  {<Id.Lit_VarLike 'if='> <'/dev/zero'>}
                                                  {<Id.Lit_VarLike 'of='> 
                                                    ($ Id.VSub_DollarName benchmark_temp_file)
                                                  }
                                                  {<Id.Lit_VarLike 'conv='> <fdatasync>}
                                                ]
                                                redirects: [
                                                  (redir
                                                    op: <Id.Redir_GreatAnd '2>&'>
                                                    loc: (redir_loc.Fd fd:2)
                                                    arg: {<1>}
                                                  )
                                                ]
                                                more_env: []
                                                do_fork: T
                                              )
                                              (C {<grep>} {(SQ <MB>)})
                                              (C {<awk>} {(SQ <'{print $10, $11}'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [27641]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [27623 27637]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<sync>})
                    (command.Simple
                      words: [{<echo>} {<3>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/proc/sys/vm/drop_caches'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {
                        (DQ <'Testing Seq Read Speed ('> ($ Id.VSub_DollarName benchmark_filesize) 
                          <' MB)'>
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'read_speed='>
                                      name: read_speed
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (command.Simple
                                                words: [
                                                  {<dd>}
                                                  {<Id.Lit_VarLike 'bs='> <4K>}
                                                  {<Id.Lit_VarLike 'count='> 
                                                    (word_part.ArithSub
                                                      anode: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_Slash
                                                          left: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_Star
                                                              left: 
                                                                {
                                                                  ($ Id.VSub_DollarName 
benchmark_filesize
                                                                  )
                                                                }
                                                              right: {<Id.Lit_Digits 1024>}
                                                            )
                                                          right: {<Id.Lit_Digits 4>}
                                                        )
                                                    )
                                                  }
                                                  {<Id.Lit_VarLike 'if='> 
                                                    ($ Id.VSub_DollarName benchmark_temp_file)
                                                  }
                                                  {<Id.Lit_VarLike 'of='> <'/dev/zero'>}
                                                  {<Id.Lit_VarLike 'conv='> <fdatasync>}
                                                ]
                                                redirects: [
                                                  (redir
                                                    op: <Id.Redir_GreatAnd '2>&'>
                                                    loc: (redir_loc.Fd fd:2)
                                                    arg: {<1>}
                                                  )
                                                ]
                                                more_env: []
                                                do_fork: T
                                              )
                                              (C {<grep>} {(SQ <MB>)})
                                              (C {<awk>} {(SQ <'{print $8, $9}'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [27745]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [27727 27741]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'read_speed='>
                                      name: read_speed
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (command.Simple
                                                words: [
                                                  {<dd>}
                                                  {<Id.Lit_VarLike 'bs='> <4K>}
                                                  {<Id.Lit_VarLike 'count='> 
                                                    (word_part.ArithSub
                                                      anode: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_Slash
                                                          left: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_Star
                                                              left: 
                                                                {
                                                                  ($ Id.VSub_DollarName 
benchmark_filesize
                                                                  )
                                                                }
                                                              right: {<Id.Lit_Digits 1024>}
                                                            )
                                                          right: {<Id.Lit_Digits 4>}
                                                        )
                                                    )
                                                  }
                                                  {<Id.Lit_VarLike 'if='> 
                                                    ($ Id.VSub_DollarName benchmark_temp_file)
                                                  }
                                                  {<Id.Lit_VarLike 'of='> <'/dev/zero'>}
                                                  {<Id.Lit_VarLike 'conv='> <fdatasync>}
                                                ]
                                                redirects: [
                                                  (redir
                                                    op: <Id.Redir_GreatAnd '2>&'>
                                                    loc: (redir_loc.Fd fd:2)
                                                    arg: {<1>}
                                                  )
                                                ]
                                                more_env: []
                                                do_fork: T
                                              )
                                              (C {<grep>} {(SQ <MB>)})
                                              (C {<awk>} {(SQ <'{print $10, $11}'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [27817]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [27799 27813]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName device_index)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'SD_WRITE='>
                                      name: SD_WRITE
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName write_speed)}
                                  spids: [27897]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'SD_READ='>
                                      name: SD_READ
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName read_speed)}
                                  spids: [27901]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [27879 27893]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName device_index)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'USB_WRITE='>
                                      name: USB_WRITE
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName write_speed)}
                                  spids: [27924]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'USB_READ='>
                                      name: USB_READ
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName read_speed)}
                                  spids: [27928]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [27906 27920]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName device_index)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'RAM_WRITE='>
                                      name: RAM_WRITE
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName write_speed)}
                                  spids: [27951]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'RAM_READ='>
                                      name: RAM_READ
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName read_speed)}
                                  spids: [27955]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [27933 27947]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName device_index)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'CUSTOM_WRITE='>
                                      name: CUSTOM_WRITE
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName write_speed)}
                                  spids: [27978]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'CUSTOM_READ='>
                                      name: CUSTOM_READ
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName read_speed)}
                                  spids: [27982]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [27960 27974]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [27509 27523]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.Simple
              words: [{<rm>} {(DQ ($ Id.VSub_DollarName benchmark_temp_file))}]
              redirects: [
                (redir
                  op: <Id.Redir_AndGreat '&>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Run_CPUBenchmark
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<'/DietPi/dietpi/dietpi-services'>} {<stop>})
            (C {<G_DIETPI-NOTIFY>} {<0>} 
              {
                (DQ <'Running DietPi-CPU Benchmark with max value of 1000000 over '> 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: (C {<nproc>} {<--all>})
                    right: <Id.Eof_RParen _>
                  ) <' cores, please wait...'>
                )
              }
            )
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<_EOF_>}
                      here_end_span_id: 28213
                      stdin_parts: [
                        <'#!/bin/bash\n'>
                        <'target_max_int='>
                        ($ Id.VSub_DollarName CPUBENCH_INT_MAX)
                        <'\n'>
                        <'cores='>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'(nproc --all)\n'>
                        <'int_split='>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'(('>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'target_max_int / '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'cores ))\n'>
                        <'aStart_Int=()\n'>
                        <'aEnd_Int=()\n'>
                        <'\n'>
                        <'#Split the max int target based on total cores\n'>
                        <'for (( i=0; i<'>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'cores; i++ ))\n'>
                        <'do\n'>
                        <'\n'>
                        <'    aEnd_Int['>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'i]='>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'(( ('>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'i + 1) * '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'int_split ))\n'>
                        <'    aStart_Int['>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'i]='>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'(( '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'{aEnd_Int['>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'i]} - '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'int_split ))\n'>
                        <'\n'>
                        <'    echo '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'{aStart_Int['>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'i]} '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'{aEnd_Int['>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'i]}\n'>
                        <'\n'>
                        <'done\n'>
                        <'\n'>
                        <'\n'>
                        <'Run_Bench()\n'>
                        <'{\n'>
                        <'\n'>
                        <'    while (( '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'{aStart_Int['>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'1]} < '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'{aEnd_Int['>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'1]} ))\n'>
                        <'    do\n'>
                        <'\n'>
                        <'        ((aStart_Int['>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'1]++))\n'>
                        <'\n'>
                        <'    done\n'>
                        <'\n'>
                        <'}\n'>
                        <'\n'>
                        <'#Launch benchmark threads\n'>
                        <'for (( i=0; i<'>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'cores; i++ ))\n'>
                        <'do\n'>
                        <'\n'>
                        <'    Run_Bench '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'i &\n'>
                        <'\n'>
                        <'done\n'>
                        <'\n'>
                        <'#Wait for jobs to finish\n'>
                        <'for job in '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\`'>
                          ch: '`'
                        )
                        <'jobs -p'>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\`'>
                          ch: '`'
                        )
                        <'\n'>
                        <'do\n'>
                        <'    echo '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'job\n'>
                        <'    wait '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'job\n'>
                        <'done\n'>
                        <'\n'>
                        <'#delete[]\n'>
                        <'unset aStart_Int\n'>
                        <'unset aEnd_Int\n'>
                        <'\n'>
                      ]
                    )
                )
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/tmp/dietpi-bench'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/tmp/dietpi-bench'>})
            (BraceGroup
              left: <Id.Lit_LBrace '{'>
              children: [
                (command.Sentence
                  child: (command.TimeBlock pipeline:(C {<-p>} {<'/tmp/dietpi-bench'>}))
                  terminator: <Id.Op_Semi _>
                )
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '2>'>
                  loc: (redir_loc.Fd fd:2)
                  arg: {<'/tmp/dietpi-bench_result'>}
                )
              ]
              right: <Id.Lit_RBrace '}'>
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CPUBENCH_TIME='> name:CPUBENCH_TIME)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<grep>} {<-m1>} {(SQ <real>)} {<'/tmp/dietpi-bench_result'>})
                              (C {<awk>} {(SQ <'{print $2}'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [28241]
                )
              ]
              redirects: []
            )
            (C {<'/DietPi/dietpi/dietpi-services'>} {<start>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_FilesystemBenchmark
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<11>}
                  spids: [28287]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Benchmarks'>)}
                  spids: [28292]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {
                                (DQ <'CPU        : Total time '> 
                                  ($ Id.VSub_DollarName CPUBENCH_INT_MAX) <' int = '> ($ Id.VSub_DollarName CPUBENCH_TIME) <' seconds'> <Id.Lit_BadBackslash '\\'> <n> 
                                  <'RAM        : Write = '> ($ Id.VSub_DollarName RAM_WRITE) <' | Read = '> ($ Id.VSub_DollarName RAM_READ) 
                                  <Id.Lit_BadBackslash '\\'> <n> <'RootFS     : Write = '> ($ Id.VSub_DollarName SD_WRITE) <' | Read = '> 
                                  ($ Id.VSub_DollarName SD_READ) <' '> <Id.Lit_BadBackslash '\\'> <n> <'USB Drive  : Write = '> ($ Id.VSub_DollarName USB_WRITE) 
                                  <' | Read = '> ($ Id.VSub_DollarName USB_READ) <Id.Lit_BadBackslash '\\'> <n> <'Custom     : Write = '> 
                                  ($ Id.VSub_DollarName CUSTOM_WRITE) <' | Read = '> ($ Id.VSub_DollarName CUSTOM_READ)
                                )
                              }
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<19>}
                              {<70>}
                              {<7>}
                              {(DQ )}
                              {
                                (DQ 
                                  <
'─── Performance ─────────────────────────────'
                                  >
                                )
                              }
                              {(DQ <CPU>)}
                              {(DQ <'Benchmark CPU performance.'>)}
                              {(DQ <RAM>)}
                              {(DQ <'Benchmark RAM performance.'>)}
                              {(DQ )}
                              {
                                (DQ 
                                  <
'─── Filesystem ──────────────────────────────'
                                  >
                                )
                              }
                              {(DQ <RootFS>)}
                              {(DQ <'Benchmark SD/EMMC IO performance.'>)}
                              {(DQ <'USB Drive'>)}
                              {(DQ <'Benchmark USB drive IO performance.'>)}
                              {(DQ <Custom>)}
                              {(DQ <'Benchmark from a selection of mounted devices.'>)}
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [28298]
                )
              ]
              redirects: []
            )
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
              arms: [
                (case_arm
                  pat_list: [{(DQ <CPU>)}]
                  action: [
                    (C {<Run_CPUBenchmark>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                              name: TARGETMENUID
                            )
                          op: assign_op.Equal
                          rhs: {<12>}
                          spids: [28472]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [28457 28460 28477 -1]
                )
                (case_arm
                  pat_list: [{(DQ <RootFS>)}]
                  action: [
                    (C {<Run_FilesystemBenchmark>} {<0>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                              name: TARGETMENUID
                            )
                          op: assign_op.Equal
                          rhs: {<12>}
                          spids: [28498]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [28481 28484 28503 -1]
                )
                (case_arm
                  pat_list: [{(DQ <'USB Drive'>)}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {<df>} {<-P>})
                                                  (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^/dev/sda1'>)})
                                                ]
                                                negated: F
                                                stderr_indices: []
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Run_FilesystemBenchmark>} {<1>})]
                          spids: [28518 28544]
                        )
                      ]
                      else_action: [
                        (C {<whiptail>} {<--title>} {(DQ <'No USB Drive was found'>)} {<--msgbox>} 
                          {
                            (DQ <'No USB Drive was found, /dev/sda1 is not available.'> 
                              <Id.Lit_BadBackslash '\\'> <'nThe test has been aborted.'>
                            )
                          } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<10>} {<60>}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                              name: TARGETMENUID
                            )
                          op: assign_op.Equal
                          rhs: {<12>}
                          spids: [28598]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [28507 28510 28603 -1]
                )
                (case_arm
                  pat_list: [{(DQ <Custom>)}]
                  action: [
                    (C {<'/DietPi/dietpi/dietpi-drive_manager'>} {<1>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'FP_CUSTOM_MOUNT='>
                              name: FP_CUSTOM_MOUNT
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<cat>} {<'/tmp/dietpi-drive_manager_selmnt'>})
                                  right: <Id.Eof_RParen _>
                                )
                              )
                            }
                          spids: [28619]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-n>} 
                                      {(DQ ($ Id.VSub_DollarName FP_CUSTOM_MOUNT))} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Run_FilesystemBenchmark>} {<3>})]
                          spids: [28630 28643]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                              name: TARGETMENUID
                            )
                          op: assign_op.Equal
                          rhs: {<12>}
                          spids: [28661]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [28607 28610 28666 -1]
                )
                (case_arm
                  pat_list: [{(DQ <RAM>)}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {<df>})
                                                  (C {<grep>} {(SQ <'[[:space:]]/tmp'>)})
                                                  (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^tmpfs[[:space:]]'>)})
                                                ]
                                                negated: F
                                                stderr_indices: []
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Run_FilesystemBenchmark>} {<2>})]
                          spids: [28681 28713]
                        )
                      ]
                      else_action: [
                        (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} 
                          {
                            (DQ <'Unable to run RAM benchmark, as /tmp is not mounted as tmpfs.'> 
                              <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                              <
'nThis mount is disabled automatically on <=512MB devices to prevent out of memory errors, please see here for more info:'
                              > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                              <'n - https://github.com/Fourdee/DietPi/issues/1027'>
                            )
                          } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<12>} {<70>}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                              name: TARGETMENUID
                            )
                          op: assign_op.Equal
                          rhs: {<12>}
                          spids: [28769]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [28670 28673 28774 -1]
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Reset_Overclocking
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<sed>} {<-i>} {(SQ <'/over_voltage=/c\\#over_voltage=0'>)} {<'/DietPi/config.txt'>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 3>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sed>} {<-i>} {(SQ <'/arm_freq=/c\\#arm_freq=1200'>)} {<'/DietPi/config.txt'>})
                    (C {<sed>} {<-i>} {(SQ <'/core_freq=/c\\#core_freq=400'>)} {<'/DietPi/config.txt'>})
                    (C {<sed>} {<-i>} {(SQ <'/sdram_freq=/c\\#sdram_freq=450'>)} {<'/DietPi/config.txt'>})
                  ]
                  spids: [28804 28818]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sed>} {<-i>} {(SQ <'/arm_freq=/c\\#arm_freq=900'>)} {<'/DietPi/config.txt'>})
                    (C {<sed>} {<-i>} {(SQ <'/core_freq=/c\\#core_freq=250'>)} {<'/DietPi/config.txt'>})
                    (C {<sed>} {<-i>} {(SQ <'/sdram_freq=/c\\#sdram_freq=450'>)} {<'/DietPi/config.txt'>})
                  ]
                  spids: [28856 28870]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_LessEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sed>} {<-i>} {(SQ <'/arm_freq=/c\\#arm_freq=700'>)} {<'/DietPi/config.txt'>})
                    (C {<sed>} {<-i>} {(SQ <'/core_freq=/c\\#core_freq=250'>)} {<'/DietPi/config.txt'>})
                    (C {<sed>} {<-i>} {(SQ <'/sdram_freq=/c\\#sdram_freq=400'>)} {<'/DietPi/config.txt'>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {<cat>} {<'/DietPi/dietpi/.hw_model'>})
                                                  (C {<tr>} {(SQ <'[:upper:]'>)} {(SQ <'[:lower:]'>)})
                                                  (C {<grep>} {<-ci>} {<-m1>} {(SQ <'rpi zero'>)})
                                                ]
                                                negated: F
                                                stderr_indices: []
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} {(SQ <'/arm_freq=/c\\#arm_freq=1000'>)} 
                              {<'/DietPi/config.txt'>}
                            )
                            (C {<sed>} {<-i>} {(SQ <'/core_freq=/c\\#core_freq=400'>)} 
                              {<'/DietPi/config.txt'>}
                            )
                            (C {<sed>} {<-i>} {(SQ <'/sdram_freq=/c\\#sdram_freq=450'>)} 
                              {<'/DietPi/config.txt'>}
                            )
                          ]
                          spids: [28964 29002]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [28908 28922]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                      name: REBOOT_REQUIRED
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [29048]
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Warning_Overclocking
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'Warning! Continue with overclocking?'>)}
                  spids: [29063]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_QUESTION='> name:WHIP_QUESTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (SQ 
                        <
'Your selected overclocking choice may void the warranty on this device. Do you wish to continue?\\n\\nUse of this tool is at your own risk. DietPi will not be held responsable for any damages due to overclocking.\\n\\nAlthough DietPi overclocks are tested for stability, results are not guaranteed and may differ from device.'
                        >
                      )
                    }
                  spids: [29069]
                )
              ]
              redirects: []
            )
            (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
              {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<70>}
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_Overclock
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [29130]
                )
              ]
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'over_voltage_value='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<grep>} {<-m1>} {(SQ <'over_voltage='>)} {<'/DietPi/config.txt'>})
                        (C {<tr>} {<-d>} {(SQ <'#over_voltage='>)})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'arm_freq_value='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<grep>} {<-m1>} {(SQ <'arm_freq='>)} {<'/DietPi/config.txt'>})
                        (C {<tr>} {<-d>} {(SQ <'#arm_freq='>)})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'core_freq_value='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<grep>} {<-m1>} {(SQ <'core_freq='>)} {<'/DietPi/config.txt'>})
                        (C {<tr>} {<-d>} {(SQ <'#core_freq='>)})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'sdram_freq_value='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<grep>} {<-m1>} {(SQ <'sdram_freq='>)} {<'/DietPi/config.txt'>})
                        (C {<tr>} {<-d>} {(SQ <'#sdram_freq='>)})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Overclocking'>)}
                  spids: [29244]
                )
              ]
              redirects: []
            )
            (C {<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName G_HW_MODEL))})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                {
                                  (command_sub
                                    left_token: <Id.Left_DollarParen '$('>
                                    child: 
                                      (command.Pipeline
                                        children: [
                                          (C {<cat>} {<'/DietPi/dietpi/.hw_model'>})
                                          (C {<tr>} {(SQ <'[:upper:]'>)} {(SQ <'[:lower:]'>)})
                                          (C {<grep>} {<-ci>} {<-m1>} {(SQ <'rpi zero'>)})
                                        ]
                                        negated: F
                                        stderr_indices: []
                                      )
                                    right: <Id.Eof_RParen _>
                                  )
                                }
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--title>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                      {<--menu>}
                                      {
                                        (DQ <' Hardware : '> 
                                          ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <' '> <Id.Lit_BadBackslash '\\'> <'n Current: '> ($ Id.VSub_DollarName arm_freq_value) <' MHz ARM | '> 
                                          ($ Id.VSub_DollarName core_freq_value) <' MHz core | '> ($ Id.VSub_DollarName sdram_freq_value) <' MHz SDRAM | '> 
                                          ($ Id.VSub_DollarName over_voltage_value) <' overvolt'>
                                        )
                                      }
                                      {<--cancel-button>}
                                      {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                      {<--backtitle>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                      {<13>}
                                      {<75>}
                                      {<4>}
                                      {(DQ <none>)}
                                      {
                                        (DQ 
                                          <
' 1000 MHz ARM | 400 MHz core | 450 MHz SDRAM | 0 overvolt'
                                          >
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [29310]
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{<none>}]
                          action: [
                            (C {<Reset_Overclocking>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [29399]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [29387 29388 29404 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [29268 29306]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_LessEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--title>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                      {<--menu>}
                                      {
                                        (DQ <' Hardware : '> 
                                          ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <' '> <Id.Lit_BadBackslash '\\'> <'n Current: '> ($ Id.VSub_DollarName arm_freq_value) <' MHz ARM | '> 
                                          ($ Id.VSub_DollarName core_freq_value) <' MHz core | '> ($ Id.VSub_DollarName sdram_freq_value) <' MHz SDRAM | '> 
                                          ($ Id.VSub_DollarName over_voltage_value) <' overvolt'>
                                        )
                                      }
                                      {<--cancel-button>}
                                      {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                      {<--backtitle>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                      {<14>}
                                      {<70>}
                                      {<4>}
                                      {(DQ <none>)}
                                      {
                                        (DQ 
                                          <
' 700 MHz ARM | 250 MHz core | 400 MHz SDRAM | 0 overvolt'
                                          >
                                        )
                                      }
                                      {(DQ <safe>)}
                                      {
                                        (DQ 
                                          <
' 900 MHz ARM | 250 MHz core | 400 MHz SDRAM | 2 overvolt'
                                          >
                                        )
                                      }
                                      {(DQ <high>)}
                                      {
                                        (DQ 
                                          <
' 900 MHz ARM | 500 MHz core | 400 MHz SDRAM | 4 overvolt'
                                          >
                                        )
                                      }
                                      {(DQ <extreme>)}
                                      {
                                        (DQ 
                                          <
'1025 MHz ARM | 500 MHz core | 400 MHz SDRAM | 6 overvolt'
                                          >
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [29429]
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{<none>}]
                          action: [
                            (C {<Reset_Overclocking>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [29548]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [29536 29537 29553 -1]
                        )
                        (case_arm
                          pat_list: [{<safe>}]
                          action: [
                            (C {<Reset_Overclocking>})
                            (C {<sed>} {<-i>} {(SQ <'/over_voltage=/c\\over_voltage=2'>)} 
                              {<'/DietPi/config.txt'>}
                            )
                            (C {<sed>} {<-i>} {(SQ <'/arm_freq=/c\\arm_freq=900'>)} 
                              {<'/DietPi/config.txt'>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [29590]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [29556 29557 29595 -1]
                        )
                        (case_arm
                          pat_list: [{<high>}]
                          action: [
                            (C {<Warning_Overclocking>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [29605]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<Reset_Overclocking>})
                                    (C {<sed>} {<-i>} {(SQ <'/over_voltage=/c\\over_voltage=4'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/arm_freq=/c\\arm_freq=900'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/core_freq=/c\\core_freq=500'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                  ]
                                  spids: [29609 29623]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [29670]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [29598 29599 29675 -1]
                        )
                        (case_arm
                          pat_list: [{<extreme>}]
                          action: [
                            (C {<Warning_Overclocking>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [29685]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<Reset_Overclocking>})
                                    (C {<sed>} {<-i>} {(SQ <'/over_voltage=/c\\over_voltage=6'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/arm_freq=/c\\arm_freq=1025'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/core_freq=/c\\core_freq=500'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                  ]
                                  spids: [29689 29703]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [29750]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [29678 29679 29755 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [29411 29425]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--title>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                      {<--menu>}
                                      {
                                        (DQ <' Hardware : '> 
                                          ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <' '> <Id.Lit_BadBackslash '\\'> <'n Current: '> ($ Id.VSub_DollarName arm_freq_value) <' MHz ARM | '> 
                                          ($ Id.VSub_DollarName core_freq_value) <' MHz core | '> ($ Id.VSub_DollarName sdram_freq_value) <' MHz SDRAM | '> 
                                          ($ Id.VSub_DollarName over_voltage_value) <' overvolt'>
                                        )
                                      }
                                      {<--cancel-button>}
                                      {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                      {<--backtitle>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                      {<13>}
                                      {<75>}
                                      {<4>}
                                      {(DQ <none>)}
                                      {
                                        (DQ 
                                          <
' 900 MHz ARM | 250 MHz core | 450 MHz SDRAM | 0 overvolt'
                                          >
                                        )
                                      }
                                      {(DQ <low>)}
                                      {
                                        (DQ 
                                          <
'1000 MHz ARM | 250 MHz core | 450 MHz SDRAM | 3 overvolt'
                                          >
                                        )
                                      }
                                      {(DQ <med>)}
                                      {
                                        (DQ 
                                          <
'1000 MHz ARM | 500 MHz core | 450 MHz SDRAM | 5 overvolt'
                                          >
                                        )
                                      }
                                      {(DQ <extreme>)}
                                      {
                                        (DQ 
                                          <
'1050 MHz ARM | 500 MHz core | 450 MHz SDRAM | 6 overvolt'
                                          >
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [29784]
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{<none>}]
                          action: [
                            (C {<Reset_Overclocking>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [29903]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [29891 29892 29908 -1]
                        )
                        (case_arm
                          pat_list: [{<low>}]
                          action: [
                            (C {<Warning_Overclocking>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [29918]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<Reset_Overclocking>})
                                    (C {<sed>} {<-i>} {(SQ <'/over_voltage=/c\\over_voltage=3'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/arm_freq=/c\\arm_freq=1000'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                  ]
                                  spids: [29922 29936]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [29972]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [29911 29912 29977 -1]
                        )
                        (case_arm
                          pat_list: [{<med>}]
                          action: [
                            (C {<Warning_Overclocking>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [29987]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<Reset_Overclocking>})
                                    (C {<sed>} {<-i>} {(SQ <'/over_voltage=/c\\over_voltage=5'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/arm_freq=/c\\arm_freq=1000'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/core_freq=/c\\core_freq=500'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                  ]
                                  spids: [29991 30005]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [30052]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [29980 29981 30057 -1]
                        )
                        (case_arm
                          pat_list: [{<extreme>}]
                          action: [
                            (C {<Warning_Overclocking>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [30067]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<Reset_Overclocking>})
                                    (C {<sed>} {<-i>} {(SQ <'/over_voltage=/c\\over_voltage=6'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/arm_freq=/c\\arm_freq=1050'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/core_freq=/c\\core_freq=500'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                  ]
                                  spids: [30071 30085]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [30132]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [30060 30061 30137 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [29766 29780]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 3>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    words: [
                                      {<whiptail>}
                                      {<--title>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                      {<--menu>}
                                      {
                                        (DQ <' Hardware : '> 
                                          ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <' '> <Id.Lit_BadBackslash '\\'> <'n Current: '> ($ Id.VSub_DollarName arm_freq_value) <' MHz ARM | '> 
                                          ($ Id.VSub_DollarName core_freq_value) <' MHz core | '> ($ Id.VSub_DollarName sdram_freq_value) <' MHz SDRAM | '> 
                                          ($ Id.VSub_DollarName over_voltage_value) <' overvolt'>
                                        )
                                      }
                                      {<--cancel-button>}
                                      {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                      {<--backtitle>}
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                      {<13>}
                                      {<75>}
                                      {<4>}
                                      {(DQ <none>)}
                                      {
                                        (DQ 
                                          <
'1200 MHz ARM | 400 MHz core | 450 MHz SDRAM | 0 overvolt'
                                          >
                                        )
                                      }
                                      {(DQ <low>)}
                                      {
                                        (DQ 
                                          <
'1300 MHz ARM | 400 MHz core | 450 MHz SDRAM | 3 overvolt'
                                          >
                                        )
                                      }
                                      {(DQ <med>)}
                                      {
                                        (DQ 
                                          <
'1325 MHz ARM | 400 MHz core | 450 MHz SDRAM | 4 overvolt'
                                          >
                                        )
                                      }
                                      {(DQ <high>)}
                                      {
                                        (DQ 
                                          <
'1350 MHz ARM | 400 MHz core | 450 MHz SDRAM | 5 overvolt'
                                          >
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_GreatAnd '3>&'>
                                        loc: (redir_loc.Fd fd:3)
                                        arg: {<1>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '1>&'>
                                        loc: (redir_loc.Fd fd:1)
                                        arg: {<2>}
                                      )
                                      (redir
                                        op: <Id.Redir_GreatAnd '2>&'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<3>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [30166]
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{<none>}]
                          action: [
                            (C {<Reset_Overclocking>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [30287]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [30274 30275 30292 -1]
                        )
                        (case_arm
                          pat_list: [{<low>}]
                          action: [
                            (C {<Warning_Overclocking>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [30304]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<Reset_Overclocking>})
                                    (C {<sed>} {<-i>} {(SQ <'/arm_freq=/c\\arm_freq=1300'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/over_voltage=/c\\over_voltage=3'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/core_freq=/c\\core_freq=400'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                  ]
                                  spids: [30308 30322]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [30369]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [30296 30297 30374 -1]
                        )
                        (case_arm
                          pat_list: [{<med>}]
                          action: [
                            (C {<Warning_Overclocking>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [30386]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<Reset_Overclocking>})
                                    (C {<sed>} {<-i>} {(SQ <'/arm_freq=/c\\arm_freq=1325'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/over_voltage=/c\\over_voltage=4'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/core_freq=/c\\core_freq=400'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                  ]
                                  spids: [30390 30404]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [30451]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [30378 30379 30456 -1]
                        )
                        (case_arm
                          pat_list: [{<high>}]
                          action: [
                            (C {<Warning_Overclocking>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [30468]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<Reset_Overclocking>})
                                    (C {<sed>} {<-i>} {(SQ <'/over_voltage=/c\\over_voltage=5'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/arm_freq=/c\\arm_freq=1350'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                    (C {<sed>} {<-i>} {(SQ <'/core_freq=/c\\core_freq=400'>)} 
                                      {<'/DietPi/config.txt'>}
                                    )
                                  ]
                                  spids: [30472 30486]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [30533]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [30460 30461 30538 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [30148 30162]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_AudioOptions
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [30564]
                )
              ]
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'soundcard_current='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<grep>} {<-m1>} {(SQ <'^CONFIG_SOUNDCARD='>)} {<'/DietPi/dietpi.txt'>})
                        (C {<sed>} {(SQ <'s/.*=//'>)})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                (sh_array_literal left:<Id.Op_LParen _> words:[])
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                      name: whiptail_menu_array
                    )
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [
                          {(DQ <Soundcard>)}
                          {(DQ <': '> ($ Id.VSub_DollarName soundcard_current))}
                        ]
                      )
                    }
                  spids: [30602]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                {
                                  (command_sub
                                    left_token: <Id.Left_DollarParen '$('>
                                    child: 
                                      (command.Pipeline
                                        children: [
                                          (C {<dpkg>} {<--get-selections>})
                                          (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^alsa-utils'>)})
                                        ]
                                        negated: F
                                        stderr_indices: []
                                      )
                                    right: <Id.Eof_RParen _>
                                  )
                                }
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                              name: whiptail_menu_array
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {(DQ <DietPi-JustBoom>)}
                                  {(DQ <': Launches EQ and MPD audio options menu'>)}
                                ]
                              )
                            }
                          spids: [30646]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [30616 30642]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                  right: {<Id.Lit_Digits 10>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'current_cpu_governor='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/dietpi.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <'^CONFIG_CPU_GOVERNOR='>)})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'hdmi_output='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/dietpi.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <'CONFIG_HDMI_OUTPUT='>)})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} {<Id.Lit_VarLike 'psu_noise_reduction_enabled='> <0>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.AndOr
                                      ops: [Id.Op_DAmp]
                                      children: [
                                        (C {<Id.Lit_LBracket '['>} 
                                          {(DQ ($ Id.VSub_DollarName current_cpu_governor))} {<Id.Lit_Equals '='>} {(DQ <powersave>)} {<Id.Lit_RBracket ']'>}
                                        )
                                        (command.DParen
                                          child: 
                                            (arith_expr.Unary
                                              op_id: Id.Arith_Bang
                                              child: {($ Id.VSub_DollarName hdmi_output)}
                                            )
                                          redirects: []
                                        )
                                      ]
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(DQ <'PSU noise reduction'>)}
                                          {(DQ <': Enabled | Select now to disable'>)}
                                        ]
                                      )
                                    }
                                  spids: [30779]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'psu_noise_reduction_enabled='>
                                      name: psu_noise_reduction_enabled
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [30791]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [30747 30775]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                  name: whiptail_menu_array
                                )
                              op: assign_op.PlusEqual
                              rhs: 
                                {
                                  (sh_array_literal
                                    left: <Id.Op_LParen _>
                                    words: [
                                      {(DQ <'PSU noise reduction'>)}
                                      {(DQ <': Disabled | Select now to enable'>)}
                                    ]
                                  )
                                }
                              spids: [30800]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [30667 30681]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Audio Options'>)}
                  spids: [30821]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {(DQ <'Please select an option:'>)}
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<12>}
                              {<75>}
                              {<4>}
                              {
                                (DQ 
                                  (braced_var_sub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name whiptail_menu_array>
                                    var_name: whiptail_menu_array
                                    bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                )
                              }
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [30827]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [30876]
                )
              ]
              redirects: []
            )
            (C {<unset>} {<whiptail_menu_array>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <'PSU noise reduction'>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: 
                                                    {
                                                      ($ Id.VSub_DollarName 
psu_noise_reduction_enabled
                                                      )
                                                    }
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<whiptail>} {<--title>} {(DQ <'PSU noise reduction'>)} 
                                      {<--msgbox>} 
                                      {
                                        (DQ 
                                          <
'This mode attempts to reduce power consumption on your SBC. In turn, this may reduce PSU inflicted noise, that may degrade audio output quality.'
                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nThe following has now been set:'> 
                                          <Id.Lit_BadBackslash '\\'> <'n - CPU gov = Powersave'> <Id.Lit_BadBackslash '\\'> <'n - HDMI output = Disabled'>
                                        )
                                      } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<70>}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/CONFIG_CPU_GOVERNOR=/c'> <Id.Lit_BadBackslash '\\'> 
                                          <'CONFIG_CPU_GOVERNOR=powersave'>
                                        )
                                      } {<'/DietPi/dietpi.txt'>}
                                    )
                                    (C {<'/DietPi/dietpi/dietpi-cpu_set'>})
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/CONFIG_HDMI_OUTPUT=/c'> <Id.Lit_BadBackslash '\\'> 
                                          <'CONFIG_HDMI_OUTPUT=0'>
                                        )
                                      } {<'/DietPi/dietpi.txt'>}
                                    )
                                  ]
                                  spids: [30926 30938]
                                )
                              ]
                              else_action: [
                                (C {<sed>} {<-i>} 
                                  {
                                    (DQ <'/CONFIG_CPU_GOVERNOR=/c'> <Id.Lit_BadBackslash '\\'> 
                                      <'CONFIG_CPU_GOVERNOR=ondemand'>
                                    )
                                  } {<'/DietPi/dietpi.txt'>}
                                )
                                (C {<'/DietPi/dietpi/dietpi-cpu_set'>})
                                (C {<sed>} {<-i>} 
                                  {
                                    (DQ <'/CONFIG_HDMI_OUTPUT=/c'> <Id.Lit_BadBackslash '\\'> 
                                      <'CONFIG_HDMI_OUTPUT=1'>
                                    )
                                  } {<'/DietPi/dietpi.txt'>}
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<14>}
                                  spids: [31050]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [30905 30922]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <Soundcard>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'DietPi - Soundcards'>)}
                                  spids: [31076]
                                )
                              ]
                              redirects: []
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                                (sh_array_literal
                                  left: <Id.Op_LParen _>
                                  words: []
                                )
                              }
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 10>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <none>)}
                                                  {(DQ <'Disables HDMI + 3.5mm Analogue'>)}
                                                ]
                                              )
                                            }
                                          spids: [31117]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [31099 31113]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DPipe
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DPipe
                                                      left: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DPipe
                                                          left: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_DEqual
                                                              left: 
                                                                {($ Id.VSub_DollarName G_HW_MODEL)}
                                                              right: {<Id.Lit_Digits 32>}
                                                            )
                                                          right: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_DEqual
                                                              left: 
                                                                {($ Id.VSub_DollarName G_HW_MODEL)}
                                                              right: {<Id.Lit_Digits 51>}
                                                            )
                                                        )
                                                      right: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                          right: {<Id.Lit_Digits 61>}
                                                        )
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                      right: {<Id.Lit_Digits 62>}
                                                    )
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [{(DQ <default>)} {(DQ <'3.5mm Analogue'>)}]
                                              )
                                            }
                                          spids: [31176]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [31134 31172]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 21>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [{(DQ <default>)} {(DQ <'HW:0,0'>)}]
                                              )
                                            }
                                          spids: [31211]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Unary
                                                          op_id: Id.Arith_Bang
                                                          child: 
                                                            {
                                                              (command_sub
                                                                left_token: 
                                                                  <Id.Left_DollarParen '$('>
                                                                child: 
                                                                  (command.Pipeline
                                                                    children: [
                                                                      (C {<dpkg>} {<--get-selections>})
                                                                      (C {<grep>} {<-ci>} {<-m1>} 
                                                                        {(SQ <'^alsa-utils'>)}
                                                                      )
                                                                    ]
                                                                    negated: F
                                                                    stderr_indices: []
                                                                  )
                                                                right: <Id.Eof_RParen _>
                                                              )
                                                            }
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} 
                                              {<soundcard>} {<default>}
                                            )
                                          ]
                                          spids: [31228 31256]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                    (command.ForExpr
                                      init: 
                                        (arith_expr.BinaryAssign
                                          op_id: Id.Arith_Equal
                                          left: ($ Id.Lit_ArithVarLike i)
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      cond: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: ($ Id.Lit_ArithVarLike i)
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      update: 
                                        (arith_expr.UnaryAssign
                                          op_id: Id.Node_PostDPlus
                                          child: ($ Id.Lit_ArithVarLike i)
                                        )
                                      body: 
                                        (command.DoGroup
                                          children: [
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                                                              {<'/proc/asound/card'> 
                                                                ($ Id.VSub_DollarName i) <'/id'>
                                                              } {<Id.Lit_RBracket ']'>}
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ForExpr
                                                      init: 
                                                        (arith_expr.BinaryAssign
                                                          op_id: Id.Arith_Equal
                                                          left: ($ Id.Lit_ArithVarLike j)
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      cond: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_Less
                                                          left: ($ Id.Lit_ArithVarLike j)
                                                          right: {<Id.Lit_Digits 10>}
                                                        )
                                                      update: 
                                                        (arith_expr.UnaryAssign
                                                          op_id: Id.Node_PostDPlus
                                                          child: ($ Id.Lit_ArithVarLike j)
                                                        )
                                                      body: 
                                                        (command.DoGroup
                                                          children: [
                                                            (command.If
                                                              arms: [
                                                                (if_arm
                                                                  cond: 
                                                                    (condition.Shell
                                                                      commands: [
                                                                        (command.Sentence
                                                                          child: 
                                                                            (C {<Id.Lit_LBracket '['>} 
                                                                              {<-f>} {<'/proc/asound/card'> ($ Id.VSub_DollarName i) <'/pcm'> (${ Id.VSub_Name j) <'p/info'>} 
                                                                              {<Id.Lit_RBracket ']'>}
                                                                            )
                                                                          terminator: <Id.Op_Semi _>
                                                                        )
                                                                      ]
                                                                    )
                                                                  action: [
                                                                    (C {<local>} 
                                                                      {
                                                                        <Id.Lit_VarLike 
'card_index='
                                                                        > 
                                                                        (command_sub
                                                                          left_token: 
                                                                            <Id.Left_DollarParen 
'$('
                                                                            >
                                                                          child: 
                                                                            (command.Pipeline
                                                                              children: [
                                                                                (C {<cat>} 
                                                                                  {
                                                                                    <
'/proc/asound/card'
                                                                                    > ($ Id.VSub_DollarName i) <'/pcm'> (${ Id.VSub_Name j) <'p/info'>
                                                                                  }
                                                                                )
                                                                                (C {<grep>} {<-m1>} 
                                                                                  {(SQ <'^card:'>)}
                                                                                )
                                                                                (C {<awk>} 
                                                                                  {
                                                                                    (SQ 
                                                                                      <'{print $2}'>
                                                                                    )
                                                                                  }
                                                                                )
                                                                              ]
                                                                              negated: F
                                                                              stderr_indices: []
                                                                            )
                                                                          right: <Id.Eof_RParen _>
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {<local>} 
                                                                      {
                                                                        <Id.Lit_VarLike 
'device_index='
                                                                        > 
                                                                        (command_sub
                                                                          left_token: 
                                                                            <Id.Left_DollarParen 
'$('
                                                                            >
                                                                          child: 
                                                                            (command.Pipeline
                                                                              children: [
                                                                                (C {<cat>} 
                                                                                  {
                                                                                    <
'/proc/asound/card'
                                                                                    > ($ Id.VSub_DollarName i) <'/pcm'> (${ Id.VSub_Name j) <'p/info'>
                                                                                  }
                                                                                )
                                                                                (C {<grep>} {<-m1>} 
                                                                                  {(SQ <'^device:'>)}
                                                                                )
                                                                                (C {<awk>} 
                                                                                  {
                                                                                    (SQ 
                                                                                      <'{print $2}'>
                                                                                    )
                                                                                  }
                                                                                )
                                                                              ]
                                                                              negated: F
                                                                              stderr_indices: []
                                                                            )
                                                                          right: <Id.Eof_RParen _>
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {<local>} 
                                                                      {<Id.Lit_VarLike 'card_name='> 
                                                                        (command_sub
                                                                          left_token: 
                                                                            <Id.Left_DollarParen 
'$('
                                                                            >
                                                                          child: 
                                                                            (C {<cat>} 
                                                                              {<'/proc/asound/card'> 
                                                                                ($ 
Id.VSub_DollarName i
                                                                                ) <'/id'>
                                                                              }
                                                                            )
                                                                          right: <Id.Eof_RParen _>
                                                                        )
                                                                      }
                                                                    )
                                                                    (command.ShAssignment
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (sh_lhs_expr.Name
                                                                              left: 
                                                                                <Id.Lit_VarLike 
'card_name+='
                                                                                >
                                                                              name: card_name
                                                                            )
                                                                          op: assign_op.PlusEqual
                                                                          rhs: 
                                                                            {
                                                                              (command_sub
                                                                                left_token: 
                                                                                  <
Id.Left_DollarParen '$('
                                                                                  >
                                                                                child: 
                                                                                  (command.Pipeline
                                                                                    children: [
                                                                                      (C {<cat>} 
                                                                                        {
                                                                                          <
'/proc/asound/card'
                                                                                          > ($ Id.VSub_DollarName i) <'/pcm'> (${ Id.VSub_Name j) <'p/info'>
                                                                                        }
                                                                                      )
                                                                                      (C {<grep>} 
                                                                                        {<-m1>} {(SQ <'^name:'>)}
                                                                                      )
                                                                                      (C {<sed>} 
                                                                                        {
                                                                                          (SQ 
                                                                                            <
's/name://g'
                                                                                            >
                                                                                          )
                                                                                        }
                                                                                      )
                                                                                    ]
                                                                                    negated: F
                                                                                    stderr_indices: []
                                                                                  )
                                                                                right: 
                                                                                  <Id.Eof_RParen _>
                                                                              )
                                                                            }
                                                                          spids: [31436]
                                                                        )
                                                                      ]
                                                                      redirects: []
                                                                    )
                                                                    (command.ShAssignment
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (sh_lhs_expr.Name
                                                                              left: 
                                                                                <Id.Lit_VarLike 
'whiptail_menu_array+='
                                                                                >
                                                                              name: 
whiptail_menu_array
                                                                            )
                                                                          op: assign_op.PlusEqual
                                                                          rhs: 
                                                                            {
                                                                              (sh_array_literal
                                                                                left: 
                                                                                  <Id.Op_LParen _>
                                                                                words: [
                                                                                  {
                                                                                    (DQ <'hw:'> 
                                                                                      ($ 
Id.VSub_DollarName card_index
                                                                                      ) <','> ($ Id.VSub_DollarName device_index)
                                                                                    )
                                                                                  }
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ 
Id.VSub_DollarName card_name
                                                                                      )
                                                                                    )
                                                                                  }
                                                                                ]
                                                                              )
                                                                            }
                                                                          spids: [31469]
                                                                        )
                                                                      ]
                                                                      redirects: []
                                                                    )
                                                                  ]
                                                                  spids: [31335 31352]
                                                                )
                                                              ]
                                                              else_action: []
                                                              redirects: []
                                                            )
                                                          ]
                                                        )
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [31295 31308]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                        )
                                      redirects: []
                                    )
                                  ]
                                  spids: [31193 31207]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                          name: whiptail_menu_array
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: 
                                        {
                                          (sh_array_literal
                                            left: <Id.Op_LParen _>
                                            words: [{(DQ <default>)} {(DQ <HDMI>)}]
                                          )
                                        }
                                      spids: [31507]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 10>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <rpi-bcm2835>)}
                                                  {(DQ <'Onboard: HDMI (if plugged in, else 3.5mm)'>)}
                                                ]
                                              )
                                            }
                                          spids: [31546]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <rpi-bcm2835-3.5mm>)}
                                                  {(DQ <'Onboard: 3.5mm forced output'>)}
                                                ]
                                              )
                                            }
                                          spids: [31558]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <rpi-bcm2835-ultrahq>)}
                                                  {
                                                    (DQ 
                                                      <
'Onboard HQ: HDMI (if plugged in, else 3.5mm)'
                                                      >
                                                    )
                                                  }
                                                ]
                                              )
                                            }
                                          spids: [31570]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <rpi-bcm2835-ultrahq-3.5mm>)}
                                                  {(DQ <'Onboard HQ: 3.5mm forced output'>)}
                                                ]
                                              )
                                            }
                                          spids: [31582]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <allo-boss-dac-pcm512x-audio>)}
                                                  {(DQ <'Allo Boss DAC'>)}
                                                ]
                                              )
                                            }
                                          spids: [31594]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <allo-boss-dac-pcm512x-audio>)}
                                                  {(DQ <'Allo Mini Boss DAC'>)}
                                                ]
                                              )
                                            }
                                          spids: [31606]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [{(DQ <allo-digione>)} {(DQ <'Allo DigiOne'>)}]
                                              )
                                            }
                                          spids: [31618]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <allo-piano-dac-pcm512x-audio>)}
                                                  {(DQ <'Allo Piano DAC'>)}
                                                ]
                                              )
                                            }
                                          spids: [31630]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <allo-piano-dac-pcm512x-audio>)}
                                                  {(DQ <'Allo Piano DAC'>)}
                                                ]
                                              )
                                            }
                                          spids: [31642]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <dionaudio-loco>)}
                                                  {(DQ <'Dion Audio LOCO'>)}
                                                ]
                                              )
                                            }
                                          spids: [31654]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <dionaudio-loco-v2>)}
                                                  {(DQ <'Dion Audio LOCO V2'>)}
                                                ]
                                              )
                                            }
                                          spids: [31666]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <googlevoicehat-soundcard>)}
                                                  {(DQ <'Google AIY voice kit'>)}
                                                ]
                                              )
                                            }
                                          spids: [31678]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <hifiberry-amp>)}
                                                  {(DQ <'HifiBerry AMP / AMP+'>)}
                                                ]
                                              )
                                            }
                                          spids: [31690]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <hifiberry-dac>)}
                                                  {(DQ <'HifiBerry DAC / MiniAMP'>)}
                                                ]
                                              )
                                            }
                                          spids: [31702]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <hifiberry-dacplus>)}
                                                  {(DQ <'HifiBerry DAC+ / DAC+ Pro'>)}
                                                ]
                                              )
                                            }
                                          spids: [31714]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <hifiberry-digi>)}
                                                  {(DQ <'HifiBerry DIGI / DIGI+'>)}
                                                ]
                                              )
                                            }
                                          spids: [31726]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <hifiberry-digi-pro>)}
                                                  {(DQ <'HifiBerry DIGI Pro'>)}
                                                ]
                                              )
                                            }
                                          spids: [31738]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <i-sabre-k2m>)}
                                                  {(DQ <'AudioPhonics I-Sabre ES9028 Q2M'>)}
                                                ]
                                              )
                                            }
                                          spids: [31750]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <iqaudio-dacplus>)}
                                                  {
                                                    (DQ 
                                                      <
'Pi-DAC+, Pi-DACZero, Pi-DAC Pro, Pi-DigiAMP+'
                                                      >
                                                    )
                                                  }
                                                ]
                                              )
                                            }
                                          spids: [31762]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <iqaudio-digi-wm8804-audio>)}
                                                  {(DQ <'Pi-DIGI+'>)}
                                                ]
                                              )
                                            }
                                          spids: [31774]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <'iqaudio-dacplus,auto_mute_amp'>)}
                                                  {(DQ <'Pi-DigiAMP+'>)}
                                                ]
                                              )
                                            }
                                          spids: [31786]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <'iqaudio-dacplus,unmute_amp'>)}
                                                  {(DQ <'Pi-DigiAMP+'>)}
                                                ]
                                              )
                                            }
                                          spids: [31798]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <justboom-dac>)}
                                                  {
                                                    (DQ 
                                                      <
'JustBoom: DAC HAT, Amp HAT, DAC Zero and Amp Zero'
                                                      >
                                                    )
                                                  }
                                                ]
                                              )
                                            }
                                          spids: [31810]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <justboom-digi>)}
                                                  {(DQ <'JustBoom: Digi HAT and Digi Zero'>)}
                                                ]
                                              )
                                            }
                                          spids: [31822]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <rpi-dac>)}
                                                  {(DQ <'Soekris DAM1021 (pcm1794a)'>)}
                                                ]
                                              )
                                            }
                                          spids: [31834]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [31528 31542]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DPipe
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                      right: {<Id.Lit_Digits 10>}
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                      right: {<Id.Lit_Digits 12>}
                                                    )
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <odroid-hifishield-plus>)}
                                                  {(DQ <'Odroid HiFi Shield 1/Plus'>)}
                                                ]
                                              )
                                            }
                                          spids: [31877]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <odroid-hifishield-2>)}
                                                  {(DQ <'Odroid HiFi Shield 2'>)}
                                                ]
                                              )
                                            }
                                          spids: [31889]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [31851 31873]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 32>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [{(DQ <h2-hdmi>)} {(DQ <HDMI>)}]
                                              )
                                            }
                                          spids: [31924]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [31906 31920]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 43>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [{(DQ <rock64-analogue>)} {(DQ <3.5MM>)}]
                                              )
                                            }
                                          spids: [31959]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [31941 31955]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DPipe
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                      right: {<Id.Lit_Digits 61>}
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                      right: {<Id.Lit_Digits 62>}
                                                    )
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [{(DQ <s5pxx18-hdmi>)} {(DQ <HDMI>)}]
                                              )
                                            }
                                          spids: [32002]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [31976 31998]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_CPUID)}
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [{(DQ <H3-analogue>)} {(DQ <'3.5mm analogue'>)}]
                                              )
                                            }
                                          spids: [32037]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [32019 32033]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 70>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <snd-soc-allo-piano-dac>)}
                                                  {(DQ <'Allo Piano DAC'>)}
                                                ]
                                              )
                                            }
                                          spids: [32086]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <snd-soc-allo-piano-dac-plus>)}
                                                  {(DQ <'Allo Piano DAC 2.1'>)}
                                                ]
                                              )
                                            }
                                          spids: [32098]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <allo-cheapo-analogue>)}
                                                  {(DQ <'Allo Cheapo (3.5mm / RCA output)'>)}
                                                ]
                                              )
                                            }
                                          spids: [32110]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <allo-cheapo-optical>)}
                                                  {(DQ <'Allo Cheapo (Optical output)'>)}
                                                ]
                                              )
                                            }
                                          spids: [32122]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [32068 32082]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 52>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <asus-tb-analogue>)}
                                                  {(DQ <'3.5mm analogue'>)}
                                                ]
                                              )
                                            }
                                          spids: [32157]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [32139 32153]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(DQ <usb-dac>)} {(DQ <'USB Audio DAC (any)'>)}]
                                      )
                                    }
                                  spids: [32178]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                              {<--menu>}
                                              {
                                                (DQ <'Current : '> 
                                                  ($ Id.VSub_DollarName soundcard_current)
                                                )
                                              }
                                              {<--default-item>}
                                              {(DQ ($ Id.VSub_DollarName soundcard_current))}
                                              {<--cancel-button>}
                                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                              {<18>}
                                              {<90>}
                                              {<10>}
                                              {
                                                (DQ 
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name whiptail_menu_array>
                                                    var_name: whiptail_menu_array
                                                    bracket_op: 
                                                      (bracket_op.WholeArray
                                                        op_id: Id.Lit_At
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                )
                                              }
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [32191]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [32246]
                                )
                              ]
                              redirects: []
                            )
                            (C {<unset>} {<whiptail_menu_array>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<soundcard>} 
                                      {(DQ ($ Id.VSub_DollarName OPTION))}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                              name: REBOOT_REQUIRED
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [32283]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [32256 32270]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<14>}
                                  spids: [32296]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [31055 31072]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <DietPi-JustBoom>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<'/DietPi/dietpi/misc/dietpi-justboom'>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<14>}
                                  spids: [32330]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [32301 32318]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [30887 30901]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'STRESS_TEST_MODE='> name:STRESS_TEST_MODE)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [32351]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'STRESS_TEST_DURATION='>
              name: STRESS_TEST_DURATION
            )
          op: assign_op.Equal
          rhs: {<60>}
          spids: [32358]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'STRESS_TEST_RESULTS_TEMP_MIN='>
              name: STRESS_TEST_RESULTS_TEMP_MIN
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [32362]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'STRESS_TEST_RESULTS_TEMP_MAX='>
              name: STRESS_TEST_RESULTS_TEMP_MAX
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [32366]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: Menu_StressTest
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<11>}
                  spids: [32378]
                )
              ]
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'stress_test_mode_text='> (SQ <'CPU Burn: (CPU only)'>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName STRESS_TEST_MODE)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'stress_test_mode_text='>
                              name: stress_test_mode_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'CPU & RAM: (CPU, RAM)'>)}
                          spids: [32409]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [32391 32405]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName STRESS_TEST_MODE)}
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'stress_test_mode_text='>
                              name: stress_test_mode_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'Full: (CPU, DISK, RAM)'>)}
                          spids: [32434]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [32416 32430]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Stress Test'>)}
                  spids: [32445]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {(DQ <'Please select an option:'>)}
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<11>}
                              {<60>}
                              {<3>}
                              {(DQ <Mode>)}
                              {(DQ ($ Id.VSub_DollarName stress_test_mode_text))}
                              {(DQ <Duration>)}
                              {
                                (DQ 
                                  (word_part.ArithSub
                                    anode: 
                                      (arith_expr.Binary
                                        op_id: Id.Arith_Slash
                                        left: {($ Id.VSub_DollarName STRESS_TEST_DURATION)}
                                        right: {<Id.Lit_Digits 60>}
                                      )
                                  ) <' Minutes'>
                                )
                              }
                              {(DQ <Start>)}
                              {(DQ <'Launch the stress test'>)}
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [32451]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [32536]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <Duration>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                              {<--menu>}
                                              {(DQ <'Please select a duration for the test'>)}
                                              {<--cancel-button>}
                                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                              {<--default-item>}
                                              {(DQ ($ Id.VSub_DollarName STRESS_TEST_DURATION))}
                                              {<--backtitle>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                              {<13>}
                                              {<60>}
                                              {<5>}
                                              {(DQ <60>)}
                                              {(DQ <'1 Minute'>)}
                                              {(DQ <300>)}
                                              {(DQ <'5 Minutes'>)}
                                              {(DQ <1800>)}
                                              {(DQ <'30 Minutes'>)}
                                              {(DQ <3600>)}
                                              {(DQ <'1 Hour'>)}
                                              {(DQ <21600>)}
                                              {(DQ <'6 Hours'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [32579]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [32680]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'STRESS_TEST_DURATION='>
                                              name: STRESS_TEST_DURATION
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                          spids: [32702]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                                              name: TARGETMENUID
                                            )
                                          op: assign_op.Equal
                                          rhs: {<15>}
                                          spids: [32706]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [32684 32698]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [32558 32575]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <Mode>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                              {<--menu>}
                                              {(DQ <'Please select a stress test type'>)}
                                              {<--cancel-button>}
                                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                              {<--default-item>}
                                              {(DQ ($ Id.VSub_DollarName STRESS_TEST_MODE))}
                                              {<--backtitle>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                              {<12>}
                                              {<60>}
                                              {<3>}
                                              {(DQ <0>)}
                                              {(DQ <'CPU Burn: (CPU only)'>)}
                                              {(DQ <1>)}
                                              {(DQ <'CPU & RAM: (CPU, RAM)'>)}
                                              {(DQ <2>)}
                                              {(DQ <'Full: (CPU, DISK, RAM)'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [32736]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [32817]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'STRESS_TEST_MODE='>
                                              name: STRESS_TEST_MODE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                          spids: [32839]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                                              name: TARGETMENUID
                                            )
                                          op: assign_op.Equal
                                          rhs: {<15>}
                                          spids: [32843]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [32821 32835]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [32715 32732]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName OPTION))} 
                                      {<Id.Lit_Equals '='>} {(DQ <Start>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AG_CHECK_INSTALL_PREREQ>} {<stress>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_NEqual
                                                  left: {($ Id.VSub_QMark '?')}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Exit exit>
                                      arg_word: {<1>}
                                    )
                                  ]
                                  spids: [32878 32892]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<3>} {<Stress_Test>} 
                              {
                                (DQ <'Running stress test for '> 
                                  ($ Id.VSub_DollarName STRESS_TEST_DURATION) <' seconds'>
                                )
                              }
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(SQ <'To terminate, type: killall -w stress'>)})
                            (C {<local>} 
                              {<Id.Lit_VarLike 'start_time='> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<date>})
                                  right: <Id.Eof_RParen _>
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'start_time_epoch='> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<date>} {<Id.Lit_Other '+'> <Id.Lit_Other '%'> <s>})
                                  right: <Id.Eof_RParen _>
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'cores='> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<nproc>} {<--all>})
                                  right: <Id.Eof_RParen _>
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'memory_per_thread='> 
                                (word_part.ArithSub
                                  anode: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Slash
                                      left: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {<free>} {<-m>})
                                                  (C {<awk>} {(SQ <'/^Mem:/{print $2}'>)})
                                                ]
                                                negated: F
                                                stderr_indices: []
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Star
                                          left: {($ Id.VSub_DollarName cores)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                    )
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'fp_log='> 
                                (DQ ($ Id.VSub_DollarName HOME) <'/dietpi-config_stress.log'>)
                              }
                            )
                            (command.Simple
                              words: [{<rm>} {(DQ ($ Id.VSub_DollarName fp_log))}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_AndGreat '&>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName STRESS_TEST_MODE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.Sentence
                                      child: 
                                        (C {<stress>} {<-c>} 
                                          {
                                            (word_part.ArithSub
                                              anode: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Star
                                                  left: {($ Id.VSub_DollarName cores)}
                                                  right: {<Id.Lit_Digits 2>}
                                                )
                                            )
                                          } {<-t>} {(DQ ($ Id.VSub_DollarName STRESS_TEST_DURATION)) <s>}
                                        )
                                      terminator: <Id.Op_Amp _>
                                    )
                                  ]
                                  spids: [33018 33032]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName STRESS_TEST_MODE)}
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.Sentence
                                      child: 
                                        (C {<stress>} {<-c>} 
                                          {
                                            (word_part.ArithSub
                                              anode: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Star
                                                  left: {($ Id.VSub_DollarName cores)}
                                                  right: {<Id.Lit_Digits 2>}
                                                )
                                            )
                                          } {<-i>} {($ Id.VSub_DollarName cores)} {<-m>} {($ Id.VSub_DollarName cores)} {<--vm-bytes>} 
                                          {(DQ ($ Id.VSub_DollarName memory_per_thread)) <M>} {<-t>} {(DQ ($ Id.VSub_DollarName STRESS_TEST_DURATION)) <s>}
                                        )
                                      terminator: <Id.Op_Amp _>
                                    )
                                  ]
                                  spids: [33062 33076]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName STRESS_TEST_MODE)}
                                                  right: {<Id.Lit_Digits 2>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.Sentence
                                      child: 
                                        (C {<stress>} {<-c>} 
                                          {
                                            (word_part.ArithSub
                                              anode: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Star
                                                  left: {($ Id.VSub_DollarName cores)}
                                                  right: {<Id.Lit_Digits 2>}
                                                )
                                            )
                                          } {<-i>} {($ Id.VSub_DollarName cores)} {<-m>} {($ Id.VSub_DollarName cores)} {<--vm-bytes>} 
                                          {(DQ ($ Id.VSub_DollarName memory_per_thread)) <M>} {<-d>} {<2>} {<-t>} {(DQ ($ Id.VSub_DollarName STRESS_TEST_DURATION)) <s>}
                                        )
                                      terminator: <Id.Op_Amp _>
                                    )
                                  ]
                                  spids: [33121 33135]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'STRESS_TEST_RESULTS_TEMP_MIN='>
                                      name: STRESS_TEST_RESULTS_TEMP_MIN
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1000>}
                                  spids: [33192]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'STRESS_TEST_RESULTS_TEMP_MAX='>
                                      name: STRESS_TEST_RESULTS_TEMP_MAX
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                  spids: [33196]
                                )
                              ]
                              redirects: []
                            )
                            (C {<local>} {<Id.Lit_VarLike 'cpu_supports_temp='> <0>})
                            (C {<local>} 
                              {<Id.Lit_VarLike 'cpu_temp='> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<G_OBTAIN_CPU_TEMP>})
                                  right: <Id.Eof_RParen _>
                                )
                              }
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DBracket
                                              expr: 
                                                (bool_expr.Binary
                                                  op_id: Id.BoolBinary_EqualTilde
                                                  left: {($ Id.VSub_DollarName cpu_temp)}
                                                  right: 
                                                    {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> 
                                                      <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                                                    }
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'cpu_supports_temp='>
                                              name: cpu_supports_temp
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [33243]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [33219 33239]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<local>} {<Id.Lit_VarLike 'remaning_time='> <0>})
                            (command.WhileUntil
                              keyword: <Id.KW_While while>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<ps>} {<aux>})
                                                      (C {<grep>} {<-ci>} {<-m1>} {(SQ <'[s]tress'>)})
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  ]
                                )
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'cpu_temp='>
                                              name: cpu_temp
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: (C {<G_OBTAIN_CPU_TEMP>})
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          spids: [33296]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'remaning_time='>
                                              name: remaning_time
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (word_part.ArithSub
                                                anode: 
                                                  (arith_expr.Binary
                                                    op_id: Id.Arith_Plus
                                                    left: 
                                                      {($ Id.VSub_DollarName STRESS_TEST_DURATION)}
                                                    right: 
                                                      (arith_expr.Binary
                                                        op_id: Id.Arith_Minus
                                                        left: 
                                                          {($ Id.VSub_DollarName start_time_epoch)}
                                                        right: 
                                                          {
                                                            (command_sub
                                                              left_token: <Id.Left_DollarParen '$('>
                                                              child: 
                                                                (C {<date>} 
                                                                  {<Id.Lit_Other '+'> 
                                                                    <Id.Lit_Other '%'> <s>
                                                                  }
                                                                )
                                                              right: <Id.Eof_RParen _>
                                                            )
                                                          }
                                                      )
                                                  )
                                              )
                                            }
                                          spids: [33302]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<echo>} {<-e>} 
                                      {
                                        (DQ 
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: (C {<date>})
                                            right: <Id.Eof_RParen _>
                                          ) <' | '> ($ Id.VSub_DollarName cpu_temp) <'\'c | '> ($ Id.VSub_DollarName remaning_time) 
                                          <' seconds remaining'>
                                        )
                                      }
                                    )
                                    (command.Simple
                                      words: [
                                        {<echo>}
                                        {<-e>}
                                        {
                                          (DQ 
                                            (command_sub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: (C {<date>})
                                              right: <Id.Eof_RParen _>
                                            ) <' | '> ($ Id.VSub_DollarName cpu_temp) <'\'c'>
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_DGreat '>>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {(DQ ($ Id.VSub_DollarName fp_log))}
                                        )
                                      ]
                                      more_env: []
                                      do_fork: T
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        {($ Id.VSub_DollarName cpu_supports_temp)}
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_Great
                                                                  left: 
                                                                    {($ Id.VSub_DollarName cpu_temp)}
                                                                  right: 
                                                                    {
                                                                      ($ Id.VSub_DollarName 
STRESS_TEST_RESULTS_TEMP_MAX
                                                                      )
                                                                    }
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: 
                                                                <Id.Lit_VarLike 
'STRESS_TEST_RESULTS_TEMP_MAX='
                                                                >
                                                              name: STRESS_TEST_RESULTS_TEMP_MAX
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {($ Id.VSub_DollarName cpu_temp)}
                                                          spids: [33399]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [33381 33395]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_Less
                                                                  left: 
                                                                    {($ Id.VSub_DollarName cpu_temp)}
                                                                  right: 
                                                                    {
                                                                      ($ Id.VSub_DollarName 
STRESS_TEST_RESULTS_TEMP_MIN
                                                                      )
                                                                    }
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: 
                                                                <Id.Lit_VarLike 
'STRESS_TEST_RESULTS_TEMP_MIN='
                                                                >
                                                              name: STRESS_TEST_RESULTS_TEMP_MIN
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {($ Id.VSub_DollarName cpu_temp)}
                                                          spids: [33426]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [33408 33422]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                          spids: [33367 33377]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                    (C {<sleep>} {<1>})
                                    (command.DParen
                                      child: 
                                        (arith_expr.UnaryAssign
                                          op_id: Id.Node_PostDPlus
                                          child: ($ Id.Lit_ArithVarLike time_since_start)
                                        )
                                      redirects: []
                                    )
                                  ]
                                )
                              redirects: []
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'end_time='> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<date>})
                                  right: <Id.Eof_RParen _>
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'end_time_epoch='> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<date>} {<Id.Lit_Other '+'> <Id.Lit_Other '%'> <s>})
                                  right: <Id.Eof_RParen _>
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'duration_seconds='> 
                                (word_part.ArithSub
                                  anode: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Minus
                                      left: {($ Id.VSub_DollarName end_time_epoch)}
                                      right: {($ Id.VSub_DollarName start_time_epoch)}
                                    )
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'output_string='> 
                                (DQ <' - Start Time: '> ($ Id.VSub_DollarName start_time) <'\n'> 
                                  <' - End Time  : '> ($ Id.VSub_DollarName end_time) <'\n'> <' - Duration  : '> ($ Id.VSub_DollarName duration_seconds) 
                                  <' seconds\n'> <' - Min Temp  : '> ($ Id.VSub_DollarName STRESS_TEST_RESULTS_TEMP_MIN) <' \'c\n'> <' - Max Temp  : '> 
                                  ($ Id.VSub_DollarName STRESS_TEST_RESULTS_TEMP_MAX) <' \'c\n'> <' - log       : '> ($ Id.VSub_DollarName fp_log)
                                )
                              }
                            )
                            (C {<G_DIETPI-NOTIFY>} {<0>} {(SQ <'Stress Test Completed'>)})
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ ($ Id.VSub_DollarName output_string))})
                            (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                              {<--msgbox>} {(DQ <'Stress test results:'> <Id.Lit_BadBackslash '\\'> <n> ($ Id.VSub_DollarName output_string))} 
                              {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<65>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<15>}
                                  spids: [33565]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [32852 32869]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [32540 32554]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_Network_Nas_Misc
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [33593]
                )
              ]
              redirects: []
            )
            (C {<Load_Installed_Software>})
            (C {<local>} {<Id.Lit_VarLike 'sambaclient_installed='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'sambaclient_status='> (DQ <'Not Installed'>)})
            (C {<local>} 
              {<Id.Lit_VarLike 'sambaclient_menutext='> 
                (DQ <'Install now to access Windows shares and NAS devices'>)
              }
            )
            (C {<local>} {<Id.Lit_VarLike 'sambaclient_mounted_size='> (DQ <unknown>)})
            (C {<local>} {<Id.Lit_VarLike 'sambaclient_mounted_used='> (DQ <unknown>)})
            (C {<local>} {<Id.Lit_VarLike 'sambaclient_mounted_free='> (DQ <unknown>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 1>})
                                        suffix_op: 
                                          (suffix_op.Unary
                                            op: <Id.VTest_ColonEquals _>
                                            arg_word: {<0>}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'sambaclient_installed='>
                              name: sambaclient_installed
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [33681]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'sambaclient_status='>
                              name: sambaclient_status
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'Unable to connect and/or incorrect details'>)}
                          spids: [33685]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'sambaclient_menutext='>
                              name: sambaclient_menutext
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'Input/Modify Details'>)}
                          spids: [33691]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<df>} {<-h>})
                                                      (C {<grep>} {<-ci>} {<-m1>} {(SQ <'/mnt/samba'>)})
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'sambaclient_mounted_size='>
                                      name: sambaclient_mounted_size
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<df>} {<-h>})
                                              (C {<grep>} {<-m1>} {(SQ <'/mnt/samba'>)})
                                              (C {<awk>} {(SQ <'{print $(NF-4)}'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [33740]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'sambaclient_mounted_used='>
                                      name: sambaclient_mounted_used
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<df>} {<-h>})
                                              (C {<grep>} {<-m1>} {(SQ <'/mnt/samba'>)})
                                              (C {<awk>} {(SQ <'{print $(NF-3)}'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [33766]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'sambaclient_mounted_free='>
                                      name: sambaclient_mounted_free
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<df>} {<-h>})
                                              (C {<grep>} {<-m1>} {(SQ <'/mnt/samba'>)})
                                              (C {<awk>} {(SQ <'{print $(NF-2)}'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [33792]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'sambaclient_status='>
                                      name: sambaclient_status
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ <'/mnt/samba | Size '> 
                                        ($ Id.VSub_DollarName sambaclient_mounted_size) <' | Used '> ($ Id.VSub_DollarName sambaclient_mounted_used) <' | Free '> 
                                        ($ Id.VSub_DollarName sambaclient_mounted_free)
                                      )
                                    }
                                  spids: [33818]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [33702 33732]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [33656 33677]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'curlftpfs_installed='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'curlftpfs_status='> (DQ <'Not Installed'>)})
            (C {<local>} 
              {<Id.Lit_VarLike 'curlftpfs_menutext='> 
                (DQ <'Install now to access FTP as filesystem mount'>)
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 2>})
                                        suffix_op: 
                                          (suffix_op.Unary
                                            op: <Id.VTest_ColonEquals _>
                                            arg_word: {<0>}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'curlftpfs_installed='>
                              name: curlftpfs_installed
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [33889]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'curlftpfs_status='>
                              name: curlftpfs_status
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'Unable to connect and/or incorrect details'>)}
                          spids: [33893]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'curlftpfs_menutext='>
                              name: curlftpfs_menutext
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'Input/Modify Details'>)}
                          spids: [33899]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<df>} {<-h>})
                                                      (C {<grep>} {<-ci>} {<-m1>} 
                                                        {(SQ <'/mnt/ftp_client'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'curlftpfs_status='>
                                      name: curlftpfs_status
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <'/mnt/ftp_client | Connected'>)}
                                  spids: [33948]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [33910 33940]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [33864 33885]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'noip_installed='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'noip_status='> (DQ <'Not Installed'>)})
            (C {<local>} {<Id.Lit_VarLike 'noip_menutext='> (DQ <'Install No-Ip now'>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 67>})
                                        suffix_op: 
                                          (suffix_op.Unary
                                            op: <Id.VTest_ColonEquals _>
                                            arg_word: {<0>}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'noip_installed='>
                              name: noip_installed
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [34014]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'noip_status='>
                              name: noip_status
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'Offline - Please Enter No-Ip Details'>)}
                          spids: [34018]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'noip_menutext='>
                              name: noip_menutext
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'Enter/Setup NoIp Details'>)}
                          spids: [34024]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<ps>} {<aux>})
                                                      (C {<grep>} {<-ci>} {<-m1>} 
                                                        {(SQ <'/usr/local/bin/[n]oip2'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'noip_status='>
                                      name: noip_status
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <'Online / Active'>)}
                                  spids: [34069]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'noip_menutext='>
                                      name: noip_menutext
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <'Change NoIp Details'>)}
                                  spids: [34075]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [34035 34065]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [33989 34010]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'nfsclient_installed='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'nfsclient_status='> (DQ <'Not Installed'>)})
            (C {<local>} 
              {<Id.Lit_VarLike 'nfsclient_menutext='> (DQ <'Install now to access NFS shares'>)}
            )
            (C {<local>} {<Id.Lit_VarLike 'nfsclient_mounted_size='> (DQ <unknown>)})
            (C {<local>} {<Id.Lit_VarLike 'nfsclient_mounted_used='> (DQ <unknown>)})
            (C {<local>} {<Id.Lit_VarLike 'nfsclient_mounted_free='> (DQ <unknown>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 110>})
                                        suffix_op: 
                                          (suffix_op.Unary
                                            op: <Id.VTest_ColonEquals _>
                                            arg_word: {<0>}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'nfsclient_installed='>
                              name: nfsclient_installed
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [34165]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'nfsclient_status='>
                              name: nfsclient_status
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'Unable to connect and/or incorrect details'>)}
                          spids: [34169]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'nfsclient_menutext='>
                              name: nfsclient_menutext
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'Input/Modify Details'>)}
                          spids: [34175]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<df>} {<-h>})
                                                      (C {<grep>} {<-ci>} {<-m1>} 
                                                        {(SQ <'/mnt/nfs_client'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'nfsclient_mounted_size='>
                                      name: nfsclient_mounted_size
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<df>} {<-h>})
                                              (C {<grep>} {<-m1>} {(SQ <'/mnt/nfs_client'>)})
                                              (C {<awk>} {(SQ <'{ print $2 }'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [34224]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'nfsclient_mounted_used='>
                                      name: nfsclient_mounted_used
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<df>} {<-h>})
                                              (C {<grep>} {<-m1>} {(SQ <'/mnt/nfs_client'>)})
                                              (C {<awk>} {(SQ <'{ print $3 }'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [34250]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'nfsclient_mounted_free='>
                                      name: nfsclient_mounted_free
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<df>} {<-h>})
                                              (C {<grep>} {<-m1>} {(SQ <'/mnt/nfs_client'>)})
                                              (C {<awk>} {(SQ <'{ print $4 }'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [34276]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'nfsclient_status='>
                                      name: nfsclient_status
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ <'/mnt/nfs_client | Size '> 
                                        ($ Id.VSub_DollarName nfsclient_mounted_size) <' | Used '> ($ Id.VSub_DollarName nfsclient_mounted_used) <' | Free '> 
                                        ($ Id.VSub_DollarName nfsclient_mounted_free)
                                      )
                                    }
                                  spids: [34302]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [34186 34216]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [34140 34161]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'apt_mirror_current='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<sed>} {<-n>} {<1p>} {<'/etc/apt/sources.list'>})
                        (C {<awk>} {(SQ <'{print $2}'>)})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-n>} 
                              {(DQ ($ Id.VSub_DollarName apt_mirror_current))} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'apt_mirror_current='>
                              name: apt_mirror_current
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'Unknown, no string from scrape'>)}
                          spids: [34367]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [34348 34363]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'ntpd_mirror_current='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<grep>} {<-m1>} {(SQ <'^CONFIG_NTP_MIRROR='>)} {<'/DietPi/dietpi.txt'>})
                        (C {<sed>} {(SQ <'s/.*=//'>)})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-n>} 
                              {(DQ ($ Id.VSub_DollarName ntpd_mirror_current))} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'ntpd_mirror_current='>
                              name: ntpd_mirror_current
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'Unknown, no string from scrape'>)}
                          spids: [34425]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [34406 34421]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'boot_wait_for_network='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<cat>} {<'/DietPi/dietpi.txt'>})
                        (C {<grep>} {<-m1>} {(SQ <'^CONFIG_BOOT_WAIT_FOR_NETWORK='>)})
                        (C {<sed>} {(SQ <'s/.*=//'>)})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (C {<local>} {<Id.Lit_VarLike 'boot_wait_for_network_text='> (SQ <': '>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName boot_wait_for_network)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'boot_wait_for_network_text+='>
                              name: boot_wait_for_network_text
                            )
                          op: assign_op.PlusEqual
                          rhs: {(SQ <Disabled>)}
                          spids: [34494]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [34476 34490]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName boot_wait_for_network)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'boot_wait_for_network_text+='>
                              name: boot_wait_for_network_text
                            )
                          op: assign_op.PlusEqual
                          rhs: {(SQ <'10 Seconds MAX (default)'>)}
                          spids: [34519]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [34501 34515]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName boot_wait_for_network)}
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'boot_wait_for_network_text+='>
                              name: boot_wait_for_network_text
                            )
                          op: assign_op.PlusEqual
                          rhs: {(SQ <'Infinite wait'>)}
                          spids: [34544]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [34526 34540]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Network Options: NAS/Misc'>)}
                  spids: [34554]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {
                                (DQ <Id.Lit_BadBackslash '\\'> <'n Samba client : '> 
                                  ($ Id.VSub_DollarName sambaclient_status) <Id.Lit_BadBackslash '\\'> <'n FTP client   : '> ($ Id.VSub_DollarName curlftpfs_status) 
                                  <Id.Lit_BadBackslash '\\'> <'n NFS client   : '> ($ Id.VSub_DollarName nfsclient_status) <Id.Lit_BadBackslash '\\'> 
                                  <'n NoIp status  : '> ($ Id.VSub_DollarName noip_status) <Id.Lit_BadBackslash '\\'> <'n Apt mirror   : '> 
                                  ($ Id.VSub_DollarName apt_mirror_current) <Id.Lit_BadBackslash '\\'> <'n NTPD mirror  : '> ($ Id.VSub_DollarName ntpd_mirror_current)
                                )
                              }
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<21>}
                              {<100>}
                              {<7>}
                              {(DQ <'Samba Client'>)}
                              {(DQ ($ Id.VSub_DollarName sambaclient_menutext))}
                              {(DQ <'FTP Client'>)}
                              {(DQ ($ Id.VSub_DollarName curlftpfs_menutext))}
                              {(DQ <'NFS Client'>)}
                              {(DQ ($ Id.VSub_DollarName nfsclient_menutext))}
                              {(DQ <NoIp>)}
                              {(DQ ($ Id.VSub_DollarName noip_menutext))}
                              {(DQ <'Apt Mirror'>)}
                              {(DQ <'Select a different Apt mirror for sources.list'>)}
                              {(DQ <'NTPD Mirror'>)}
                              {(DQ <'Select a different NTPD mirror'>)}
                              {(DQ <'Boot Net Wait'>)}
                              {(DQ ($ Id.VSub_DollarName boot_wait_for_network_text))}
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [34560]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [34693]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ <'Boot Net Wait'>)}]
                          action: [
                            (C {<local>} 
                              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                                (sh_array_literal
                                  left: <Id.Op_LParen _>
                                  words: []
                                )
                              }
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(SQ <0>)} {(SQ <': Disabled'>)}]
                                      )
                                    }
                                  spids: [34743]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(SQ <1>)}
                                          {
                                            (SQ 
                                              <
': Wait 10 Seconds MAX for network, before continuing boot (default)'
                                              >
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [34755]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(SQ <2>)}
                                          {
                                            (SQ 
                                              <
': Infinite wait for network, before continuing boot'
                                              >
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [34767]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ <'Wait for network during boot'>)}
                                              {<--menu>}
                                              {
                                                (DQ 
                                                  <
'The following options will allow you to delay boot, until a valid network connection is available:'
                                                  >
                                                )
                                              }
                                              {<--default-item>}
                                              {(DQ ($ Id.VSub_DollarName boot_wait_for_network))}
                                              {<--cancel-button>}
                                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                              {<--backtitle>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                              {<12>}
                                              {<80>}
                                              {<3>}
                                              {
                                                (DQ 
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name whiptail_menu_array>
                                                    var_name: whiptail_menu_array
                                                    bracket_op: 
                                                      (bracket_op.WholeArray
                                                        op_id: Id.Lit_At
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                )
                                              }
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [34780]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [34840]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ 
                                          <
'/^CONFIG_BOOT_WAIT_FOR_NETWORK=/c CONFIG_BOOT_WAIT_FOR_NETWORK='
                                          > ($ Id.VSub_DollarName OPTION)
                                        )
                                      } {<'/DietPi/dietpi.txt'>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                                              name: TARGETMENUID
                                            )
                                          op: assign_op.Equal
                                          rhs: {<16>}
                                          spids: [34879]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [34844 34858]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<unset>} {<whiptail_menu_array>})
                          ]
                          spids: [34724 34727 34898 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Apt Mirror'>)}]
                          action: [
                            (C {<local>} 
                              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                                (sh_array_literal
                                  left: <Id.Op_LParen _>
                                  words: [{(DQ <Custom>)} {(DQ <'Manually enter Apt mirror'>)}]
                                )
                              }
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 10>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {
                                                    (DQ 
                                                      <
'http://mirrordirector.raspbian.org/raspbian'
                                                      >
                                                    )
                                                  }
                                                  {(DQ <Global>)}
                                                ]
                                              )
                                            }
                                          spids: [34954]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {
                                                    (DQ 
                                                      <
'https://www.mirrorservice.org/sites/archive.raspbian.org/raspbian'
                                                      >
                                                    )
                                                  }
                                                  {(DQ <'Global (https)'>)}
                                                ]
                                              )
                                            }
                                          spids: [34966]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {
                                                    (DQ 
                                                      <
'http://mirror.ox.ac.uk/sites/archive.raspbian.org/archive/raspbian'
                                                      >
                                                    )
                                                  }
                                                  {(DQ <UK>)}
                                                ]
                                              )
                                            }
                                          spids: [34978]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {
                                                    (DQ 
                                                      <
'ftp://ftp.fu-berlin.de/linux/raspbian/raspbian'
                                                      >
                                                    )
                                                  }
                                                  {(DQ <Germany>)}
                                                ]
                                              )
                                            }
                                          spids: [34990]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {(DQ <'http://mirror.umd.edu/raspbian/raspbian'>)}
                                                  {(DQ <US>)}
                                                ]
                                              )
                                            }
                                          spids: [35002]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {
                                                    (DQ 
                                                      <
'http://mirrors.ustc.edu.cn/raspbian/raspbian'
                                                      >
                                                    )
                                                  }
                                                  {(DQ <China>)}
                                                ]
                                              )
                                            }
                                          spids: [35014]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                              name: whiptail_menu_array
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (sh_array_literal
                                                left: <Id.Op_LParen _>
                                                words: [
                                                  {
                                                    (DQ 
                                                      <
'http://raspbian.mirror.digitalpacific.com.au/raspbian'
                                                      >
                                                    )
                                                  }
                                                  {(DQ <Australia>)}
                                                ]
                                              )
                                            }
                                          spids: [35026]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [34936 34950]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                          name: whiptail_menu_array
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: 
                                        {
                                          (sh_array_literal
                                            left: <Id.Op_LParen _>
                                            words: [
                                              {(DQ <'http://ftp.debian.org/debian/'>)}
                                              {(DQ <Global>)}
                                            ]
                                          )
                                        }
                                      spids: [35047]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                          name: whiptail_menu_array
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: 
                                        {
                                          (sh_array_literal
                                            left: <Id.Op_LParen _>
                                            words: [
                                              {(DQ <'http://ftp.uk.debian.org/debian/'>)}
                                              {(DQ <UK>)}
                                            ]
                                          )
                                        }
                                      spids: [35059]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                          name: whiptail_menu_array
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: 
                                        {
                                          (sh_array_literal
                                            left: <Id.Op_LParen _>
                                            words: [
                                              {(DQ <'http://ftp.us.debian.org/debian/'>)}
                                              {(DQ <US>)}
                                            ]
                                          )
                                        }
                                      spids: [35071]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                          name: whiptail_menu_array
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: 
                                        {
                                          (sh_array_literal
                                            left: <Id.Op_LParen _>
                                            words: [
                                              {(DQ <'http://ftp.cn.debian.org/debian/'>)}
                                              {(DQ <China>)}
                                            ]
                                          )
                                        }
                                      spids: [35083]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                          name: whiptail_menu_array
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: 
                                        {
                                          (sh_array_literal
                                            left: <Id.Op_LParen _>
                                            words: [
                                              {(DQ <'http://ftp.au.debian.org/debian/'>)}
                                              {(DQ <Australia>)}
                                            ]
                                          )
                                        }
                                      spids: [35095]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ <'Choose Apt Mirror'>)}
                                              {<--menu>}
                                              {
                                                (DQ 
                                                  <
'Please select a Apt mirror, or choose custom for manual entry.'
                                                  >
                                                )
                                              }
                                              {<--default-item>}
                                              {(DQ ($ Id.VSub_DollarName apt_mirror_current))}
                                              {<--cancel-button>}
                                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                              {<--backtitle>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                              {<15>}
                                              {<100>}
                                              {<7>}
                                              {
                                                (DQ 
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name whiptail_menu_array>
                                                    var_name: whiptail_menu_array
                                                    bracket_op: 
                                                      (bracket_op.WholeArray
                                                        op_id: Id.Lit_At
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                )
                                              }
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [35112]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [35172]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.Case
                                      to_match: {($ Id.VSub_DollarName OPTION)}
                                      arms: [
                                        (case_arm
                                          pat_list: [{<Custom>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'OPTION='>
                                                      name: OPTION
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (command_sub
                                                        left_token: <Id.Left_DollarParen '$('>
                                                        child: 
                                                          (command.Simple
                                                            words: [
                                                              {<whiptail>}
                                                              {<--inputbox>}
                                                              {
                                                                (DQ <'Enter Your Apt Mirror'> 
                                                                  <Id.Lit_BadBackslash '\\'> <'n - eg: http://ftp.debian.org/debian'>
                                                                )
                                                              }
                                                              {<9>}
                                                              {<100>}
                                                              {
                                                                (DQ 
                                                                  ($ Id.VSub_DollarName 
apt_mirror_current
                                                                  )
                                                                )
                                                              }
                                                              {<--title>}
                                                              {(DQ <'Set Apt Mirror'>)}
                                                            ]
                                                            redirects: [
                                                              (redir
                                                                op: <Id.Redir_GreatAnd '3>&'>
                                                                loc: (redir_loc.Fd fd:3)
                                                                arg: {<1>}
                                                              )
                                                              (redir
                                                                op: <Id.Redir_GreatAnd '1>&'>
                                                                loc: (redir_loc.Fd fd:1)
                                                                arg: {<2>}
                                                              )
                                                              (redir
                                                                op: <Id.Redir_GreatAnd '2>&'>
                                                                loc: (redir_loc.Fd fd:2)
                                                                arg: {<3>}
                                                              )
                                                            ]
                                                            more_env: []
                                                            do_fork: T
                                                          )
                                                        right: <Id.Eof_RParen _>
                                                      )
                                                    }
                                                  spids: [35204]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'CHOICE='>
                                                      name: CHOICE
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {($ Id.VSub_QMark '?')}
                                                  spids: [35241]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_DEqual
                                                                  left: 
                                                                    {($ Id.VSub_DollarName CHOICE)}
                                                                  right: {<Id.Lit_Digits 0>}
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'return_value='>
                                                              name: return_value
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                                          spids: [35262]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [35245 35259]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                          spids: [35200 35201 35269 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<Id.Lit_Star '*'>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'return_value='>
                                                      name: return_value
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {($ Id.VSub_DollarName OPTION)}
                                                  spids: [35276]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [35272 35273 35280 -1]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<'/DietPi/dietpi/func/dietpi-set_software'>} {<apt-mirror>} 
                                      {($ Id.VSub_DollarName OPTION)}
                                    )
                                    (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Updating Apt, please wait...'>)})
                                    (C {<G_AGUP>})
                                    (C {<local>} {<Id.Lit_VarLike 'exit_code='> ($ Id.VSub_QMark '?')})
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_NEqual
                                                          left: {($ Id.VSub_DollarName exit_code)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<whiptail>} {<--title>} {(DQ <'Apt Error:'>)} 
                                              {<--msgbox>} 
                                              {
                                                (DQ <'Failed to update apt, exit code: '> 
                                                  ($ Id.VSub_DollarName exit_code) <Id.Lit_BadBackslash '\\'> <'nPlease try another Apt mirror.'>
                                                )
                                              } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<8>} {<65>}
                                            )
                                          ]
                                          spids: [35318 35332]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [35176 35190]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<16>}
                                  spids: [35377]
                                )
                              ]
                              redirects: []
                            )
                            (C {<unset>} {<whiptail_menu_array>})
                          ]
                          spids: [34902 34905 35392 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'NTPD Mirror'>)}]
                          action: [
                            (C {<local>} 
                              {<Id.Lit_VarLike 'whiptail_menu_array='> 
                                (sh_array_literal
                                  left: <Id.Op_LParen _>
                                  words: [{(DQ <Custom>)} {(DQ <'Manually enter NTPD mirror'>)}]
                                )
                              }
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(SQ <debian.pool.ntp.org>)} {(SQ <'Debian Global'>)}]
                                      )
                                    }
                                  spids: [35428]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(SQ <pool.ntp.org>)} {(SQ <Global>)}]
                                      )
                                    }
                                  spids: [35440]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(SQ <europe.pool.ntp.org>)} {(SQ <Europe>)}]
                                      )
                                    }
                                  spids: [35452]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(SQ <north-america.pool.ntp.org>)}
                                          {(SQ <'North America'>)}
                                        ]
                                      )
                                    }
                                  spids: [35464]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(SQ <south-america.pool.ntp.org>)}
                                          {(SQ <'South America'>)}
                                        ]
                                      )
                                    }
                                  spids: [35476]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(SQ <africa.pool.ntp.org>)} {(SQ <Africa>)}]
                                      )
                                    }
                                  spids: [35488]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(SQ <asia.pool.ntp.org>)} {(SQ <Asia>)}]
                                      )
                                    }
                                  spids: [35500]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_menu_array+='>
                                      name: whiptail_menu_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [{(SQ <oceania.pool.ntp.org>)} {(SQ <Oceania>)}]
                                      )
                                    }
                                  spids: [35512]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ <'Choose NTPD Mirror'>)}
                                              {<--menu>}
                                              {
                                                (DQ 
                                                  <
'Please select a NTPD mirror, or choose custom for manual entry.'
                                                  > <Id.Lit_BadBackslash '\\'> <'n - Further information: '> 
                                                  (word_part.EscapedLiteral
                                                    token: <Id.Lit_EscapedChar '\\"'>
                                                    ch: '"'
                                                  ) <'http://www.pool.ntp.org/zone/@'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
                                                )
                                              }
                                              {<--default-item>}
                                              {(DQ ($ Id.VSub_DollarName ntpd_mirror_current))}
                                              {<--cancel-button>}
                                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                                              {<--backtitle>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                              {<16>}
                                              {<100>}
                                              {<7>}
                                              {
                                                (DQ 
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name whiptail_menu_array>
                                                    var_name: whiptail_menu_array
                                                    bracket_op: 
                                                      (bracket_op.WholeArray
                                                        op_id: Id.Lit_At
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                )
                                              }
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [35525]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [35590]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'return_value='>
                                              name: return_value
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                          spids: [35612]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.Case
                                      to_match: {($ Id.VSub_DollarName OPTION)}
                                      arms: [
                                        (case_arm
                                          pat_list: [{<Custom>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'OPTION='>
                                                      name: OPTION
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (command_sub
                                                        left_token: <Id.Left_DollarParen '$('>
                                                        child: 
                                                          (command.Simple
                                                            words: [
                                                              {<whiptail>}
                                                              {<--inputbox>}
                                                              {
                                                                (DQ <'Enter Your NTPD Mirror'> 
                                                                  <Id.Lit_BadBackslash '\\'> <'n - eg: debian.pool.ntp.org'>
                                                                )
                                                              }
                                                              {<9>}
                                                              {<100>}
                                                              {
                                                                (DQ 
                                                                  ($ Id.VSub_DollarName 
ntpd_mirror_current
                                                                  )
                                                                )
                                                              }
                                                              {<--title>}
                                                              {(DQ <'Set NTPD Mirror'>)}
                                                            ]
                                                            redirects: [
                                                              (redir
                                                                op: <Id.Redir_GreatAnd '3>&'>
                                                                loc: (redir_loc.Fd fd:3)
                                                                arg: {<1>}
                                                              )
                                                              (redir
                                                                op: <Id.Redir_GreatAnd '1>&'>
                                                                loc: (redir_loc.Fd fd:1)
                                                                arg: {<2>}
                                                              )
                                                              (redir
                                                                op: <Id.Redir_GreatAnd '2>&'>
                                                                loc: (redir_loc.Fd fd:2)
                                                                arg: {<3>}
                                                              )
                                                            ]
                                                            more_env: []
                                                            do_fork: T
                                                          )
                                                        right: <Id.Eof_RParen _>
                                                      )
                                                    }
                                                  spids: [35630]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'CHOICE='>
                                                      name: CHOICE
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {($ Id.VSub_QMark '?')}
                                                  spids: [35667]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_DEqual
                                                                  left: 
                                                                    {($ Id.VSub_DollarName CHOICE)}
                                                                  right: {<Id.Lit_Digits 0>}
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'return_value='>
                                                              name: return_value
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                                          spids: [35689]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [35671 35685]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                          spids: [35625 35626 35698 -1]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (DQ <'/CONFIG_NTP_MIRROR=/c'> <Id.Lit_BadBackslash '\\'> 
                                          <'CONFIG_NTP_MIRROR='> ($ Id.VSub_DollarName OPTION)
                                        )
                                      } {<'/DietPi/dietpi.txt'>}
                                    )
                                    (C {<'/DietPi/dietpi/func/dietpi-set_software'>} {<ntpd-mode>} 
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (command.Pipeline
                                              children: [
                                                (C {<grep>} {<-m1>} {(SQ <'^CONFIG_NTP_MODE='>)} 
                                                  {<'/DietPi/dietpi.txt'>}
                                                )
                                                (C {<sed>} {(SQ <'s/.*=//'>)})
                                              ]
                                              negated: F
                                              stderr_indices: []
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      }
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                                              name: TARGETMENUID
                                            )
                                          op: assign_op.Equal
                                          rhs: {<16>}
                                          spids: [35750]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [35594 35608]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<unset>} {<whiptail_menu_array>})
                          ]
                          spids: [35396 35399 35769 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'NFS Client'>)}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: {($ Id.VSub_DollarName nfsclient_installed)}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<whiptail>} {<--title>} {(DQ <'Install NFS Client?'>)} 
                                      {<--yesno>} 
                                      {
                                        (DQ 
                                          <
'NFS Client is not installed, would you like to install it now?'
                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nThis will allow you access NFS shares.'>
                                        )
                                      } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<12>} {<65>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [35843]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<'/DietPi/dietpi/dietpi-software'>} {<install>} {<110>})
                                          ]
                                          spids: [35847 35861]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [35784 35796]
                                )
                              ]
                              else_action: [(C {<'/DietPi/dietpi/func/dietpi-set_nfsclient'>})]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<16>}
                                  spids: [35897]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [35773 35776 35902 -1]
                        )
                        (case_arm
                          pat_list: [{<Samba> <Id.Lit_Star '*'>}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: 
                                                    {($ Id.VSub_DollarName sambaclient_installed)}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<whiptail>} {<--title>} {(DQ <'Install Samba Client?'>)} 
                                      {<--yesno>} 
                                      {
                                        (DQ 
                                          <
'Samba Client is not installed, would you like to install it now?'
                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                          <
'nThis will allow you access Windows shared folders, NAS and CIFS capable devices.'
                                          >
                                        )
                                      } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<12>} {<65>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [35974]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<'/DietPi/dietpi/dietpi-software'>} {<install>} {<1>})
                                          ]
                                          spids: [35978 35992]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [35915 35927]
                                )
                              ]
                              else_action: [(C {<'/DietPi/dietpi/func/dietpi-set_smbclient'>})]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<16>}
                                  spids: [36028]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [35906 35908 36032 -1]
                        )
                        (case_arm
                          pat_list: [{<FTP> <Id.Lit_Star '*'>}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: {($ Id.VSub_DollarName curlftpfs_installed)}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<whiptail>} {<--title>} {(DQ <'Install FTP Client?'>)} 
                                      {<--yesno>} 
                                      {
                                        (DQ 
                                          <
'FTP Client (curlftpfs) is not installed, would you like to install it now? '
                                          > <Id.Lit_BadBackslash '\\'> <'n '> <Id.Lit_BadBackslash '\\'> 
                                          <
'n - This is required to mount an FTP connection to filesystem'
                                          >
                                        )
                                      } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<12>} {<65>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [36103]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<'/DietPi/dietpi/dietpi-software'>} {<install>} {<2>})
                                          ]
                                          spids: [36107 36121]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [36044 36056]
                                )
                              ]
                              else_action: [(C {<'/DietPi/dietpi/func/dietpi-set_curlftpfs'>})]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<16>}
                                  spids: [36157]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [36035 36037 36161 -1]
                        )
                        (case_arm
                          pat_list: [{<NoIp>}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: {($ Id.VSub_DollarName noip_installed)}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<local>} {<Id.Lit_VarLike 'noip_url_address='> (SQ )})
                                    (C {<whiptail>} {<--title>} {(DQ <'Install NoIp Client?'>)} 
                                      {<--yesno>} 
                                      {
                                        (DQ 
                                          <
'NoIp Client is not installed, would you like to install it now?'
                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                          <
'n- NoIp will allow you to use a fixed web address, regardless of your internet IP'
                                          > <Id.Lit_BadBackslash '\\'> <'neg: MySuperDooperWebsite.noip2.biz would point to this device!'>
                                        )
                                      } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<13>} {<70>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [36240]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<'/DietPi/dietpi/dietpi-software'>} {<install>} {<67>})
                                          ]
                                          spids: [36244 36258]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [36172 36184]
                                )
                              ]
                              else_action: [
                                (C {<clear>})
                                (C {<service>} {<noip2>} {<stop>})
                                (C {<noip2>} {<-C>})
                                (C {<read>} {<-p>} {(DQ <'Press any key to continue.....'>)})
                                (C {<service>} {<noip2>} {<start>})
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<16>}
                                  spids: [36322]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [36164 36165 36326 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [34697 34711]
                )
              ]
              else_action: [
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName EXITONBACK)}
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'TARGETMENUID='>
                                  name: TARGETMENUID
                                )
                              op: assign_op.Equal
                              rhs: {<16>}
                              spids: [36366]
                            )
                          ]
                          redirects: []
                        )
                        (C {<Menu_Exit>})
                      ]
                      spids: [36345 36359]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROXY_ENABLED='> name:PROXY_ENABLED)
          op: assign_op.Equal
          rhs: {<-1>}
          spids: [36384]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROXY_ADDRESS='> name:PROXY_ADDRESS)
          op: assign_op.Equal
          rhs: {(SQ )}
          spids: [36388]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROXY_PORT='> name:PROXY_PORT)
          op: assign_op.Equal
          rhs: {(SQ )}
          spids: [36393]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROXY_USERNAME='> name:PROXY_USERNAME)
          op: assign_op.Equal
          rhs: {(SQ )}
          spids: [36398]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROXY_PASSWORD='> name:PROXY_PASSWORD)
          op: assign_op.Equal
          rhs: {(SQ )}
          spids: [36403]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: Load_Proxy_Vars
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROXY_ENABLED='> name:PROXY_ENABLED)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^CONFIG_PROXY_ENABLED='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [36420]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROXY_ADDRESS='> name:PROXY_ADDRESS)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^CONFIG_PROXY_ADDRESS='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [36446]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROXY_PORT='> name:PROXY_PORT)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^CONFIG_PROXY_PORT='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [36472]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROXY_USERNAME='> name:PROXY_USERNAME)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^CONFIG_PROXY_USERNAME='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [36498]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROXY_PASSWORD='> name:PROXY_PASSWORD)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^CONFIG_PROXY_PASSWORD='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [36524]
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_NetworkAdapters_Proxy
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<8>}
                  spids: [36566]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName PROXY_ENABLED)}
                                  right: 
                                    (arith_expr.Unary
                                      op_id: Id.Node_UnaryMinus
                                      child: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Load_Proxy_Vars>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'proxy_state_text='>
                              name: proxy_state_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <Disabled>)}
                          spids: [36598]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName PROXY_ENABLED)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'proxy_state_text='>
                                      name: proxy_state_text
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <Enabled>)}
                                  spids: [36621]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [36604 36618]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [36575 36590]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'proxy_state_text_new='>
                      name: proxy_state_text_new
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <No>)}
                  spids: [36634]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName PROXY_ENABLED)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'proxy_state_text_new='>
                              name: proxy_state_text_new
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <Yes>)}
                          spids: [36657]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [36640 36654]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Proxy Network Options'>)}
                  spids: [36667]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--menu>}
                              {
                                (DQ <Id.Lit_BadBackslash '\\'> <'n Current Details:'> 
                                  <Id.Lit_BadBackslash '\\'> <'n - Status: '> ($ Id.VSub_DollarName proxy_state_text) <Id.Lit_BadBackslash '\\'> <'n - Address: '> 
                                  ($ Id.VSub_DollarName PROXY_ADDRESS) <Id.Lit_BadBackslash '\\'> <'n - Port: '> ($ Id.VSub_DollarName PROXY_PORT) <Id.Lit_BadBackslash '\\'> 
                                  <'n - Username: '> ($ Id.VSub_DollarName PROXY_USERNAME) <Id.Lit_BadBackslash '\\'> <'n - Password: '> 
                                  ($ Id.VSub_DollarName PROXY_PASSWORD)
                                )
                              }
                              {<--cancel-button>}
                              {(DQ ($ Id.VSub_DollarName TEXT_MENU_BACK))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<21>}
                              {<60>}
                              {<6>}
                              {(DQ <Toggle>)}
                              {(DQ <'Use Proxy?: '> ($ Id.VSub_DollarName proxy_state_text_new))}
                              {(DQ <Address>)}
                              {(DQ <'Enter Proxy server IP/URL'>)}
                              {(DQ <Port>)}
                              {(DQ <'Enter Proxy server port'>)}
                              {(DQ <Username>)}
                              {(DQ <'Enter Proxy server username'>)}
                              {(DQ <Password>)}
                              {(DQ <'Enter Proxy server password'>)}
                              {(DQ <Apply>)}
                              {(DQ <'Save Changes'>)}
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [36673]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [36796]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{<Toggle>}]
                          action: [
                            (command.DParen
                              child: 
                                (arith_expr.UnaryAssign
                                  op_id: Id.Node_PostDPlus
                                  child: ($ Id.Lit_ArithVarLike PROXY_ENABLED)
                                )
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_GreatEqual
                                                  left: {($ Id.VSub_DollarName PROXY_ENABLED)}
                                                  right: {<Id.Lit_Digits 2>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'PROXY_ENABLED='>
                                              name: PROXY_ENABLED
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [36854]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [36837 36851]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<17>}
                                  spids: [36866]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [36826 36827 36870 -1]
                        )
                        (case_arm
                          pat_list: [{<Address>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ <'Please enter the proxy URL or IP address'> 
                                                  <Id.Lit_BadBackslash '\\'> <'n - eg: MyProxy.com'>
                                                )
                                              }
                                              {<9>}
                                              {<65>}
                                              {(DQ ($ Id.VSub_DollarName PROXY_ADDRESS))}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [36877]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [36914]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'PROXY_ADDRESS='>
                                              name: PROXY_ADDRESS
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                          spids: [36935]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [36918 36932]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<17>}
                                  spids: [36947]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [36873 36874 36951 -1]
                        )
                        (case_arm
                          pat_list: [{<Port>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ <'Please enter the proxy port number'> 
                                                  <Id.Lit_BadBackslash '\\'> <'n - eg: 1234'>
                                                )
                                              }
                                              {<9>}
                                              {<65>}
                                              {(DQ ($ Id.VSub_DollarName PROXY_PORT))}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [36958]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [36995]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'PROXY_PORT='>
                                              name: PROXY_PORT
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                          spids: [37016]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [36999 37013]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<17>}
                                  spids: [37028]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [36954 36955 37032 -1]
                        )
                        (case_arm
                          pat_list: [{<Username>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ <'Please enter the proxy username'> 
                                                  <Id.Lit_BadBackslash '\\'> <'n - eg: JoeBloggs'> <Id.Lit_BadBackslash '\\'> <'n - Leave blank if not required'>
                                                )
                                              }
                                              {<10>}
                                              {<65>}
                                              {(DQ ($ Id.VSub_DollarName PROXY_USERNAME))}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [37039]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [37078]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'PROXY_USERNAME='>
                                              name: PROXY_USERNAME
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                          spids: [37099]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [37082 37096]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<17>}
                                  spids: [37111]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [37035 37036 37115 -1]
                        )
                        (case_arm
                          pat_list: [{<Password>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {
                                                (DQ <'Please enter the proxy password'> 
                                                  <Id.Lit_BadBackslash '\\'> <'n - eg: LetMeIn'> <Id.Lit_BadBackslash '\\'> <'n - Leave blank if not required'>
                                                )
                                              }
                                              {<10>}
                                              {<65>}
                                              {(DQ ($ Id.VSub_DollarName PROXY_PASSWORD))}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [37122]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [37161]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'PROXY_PASSWORD='>
                                              name: PROXY_PASSWORD
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                          spids: [37182]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [37165 37179]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<17>}
                                  spids: [37194]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [37118 37119 37198 -1]
                        )
                        (case_arm
                          pat_list: [{<Apply>}]
                          action: [
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/^CONFIG_PROXY_ENABLED=/c'> <Id.Lit_BadBackslash '\\'> 
                                  <'CONFIG_PROXY_ENABLED='> ($ Id.VSub_DollarName PROXY_ENABLED)
                                )
                              } {<'/DietPi/dietpi.txt'>}
                            )
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/^CONFIG_PROXY_ADDRESS=/c'> <Id.Lit_BadBackslash '\\'> 
                                  <'CONFIG_PROXY_ADDRESS='> ($ Id.VSub_DollarName PROXY_ADDRESS)
                                )
                              } {<'/DietPi/dietpi.txt'>}
                            )
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/^CONFIG_PROXY_PORT=/c'> <Id.Lit_BadBackslash '\\'> 
                                  <'CONFIG_PROXY_PORT='> ($ Id.VSub_DollarName PROXY_PORT)
                                )
                              } {<'/DietPi/dietpi.txt'>}
                            )
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/^CONFIG_PROXY_USERNAME=/c'> <Id.Lit_BadBackslash '\\'> 
                                  <'CONFIG_PROXY_USERNAME='> ($ Id.VSub_DollarName PROXY_USERNAME)
                                )
                              } {<'/DietPi/dietpi.txt'>}
                            )
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/^CONFIG_PROXY_PASSWORD=/c'> <Id.Lit_BadBackslash '\\'> 
                                  <'CONFIG_PROXY_PASSWORD='> ($ Id.VSub_DollarName PROXY_PASSWORD)
                                )
                              } {<'/DietPi/dietpi.txt'>}
                            )
                            (C {<sed>} {<-i>} {(SQ <'/{http,https,ftp}_proxy=/d'>)} 
                              {<'/etc/bash.bashrc'>}
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName PROXY_ENABLED)}
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.AndOr
                                                      ops: [Id.Op_DAmp]
                                                      children: [
                                                        (C {<Id.Lit_LBracket '['>} {<-n>} 
                                                          {(DQ ($ Id.VSub_DollarName PROXY_USERNAME))} {<Id.Lit_RBracket ']'>}
                                                        )
                                                        (C {<Id.Lit_LBracket '['>} {<-n>} 
                                                          {(DQ ($ Id.VSub_DollarName PROXY_PASSWORD))} {<Id.Lit_RBracket ']'>}
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.Simple
                                              words: [{<cat>}]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_DLess '<<'>
                                                  loc: (redir_loc.Fd fd:0)
                                                  arg: 
                                                    (redir_param.HereDoc
                                                      here_begin: {<_EOF_>}
                                                      here_end_span_id: 37379
                                                      stdin_parts: [
                                                        <'export {http,https,ftp}_proxy='>
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'http://'>
                                                        ($ Id.VSub_DollarName PROXY_USERNAME)
                                                        <':'>
                                                        ($ Id.VSub_DollarName PROXY_PASSWORD)
                                                        <'@'>
                                                        ($ Id.VSub_DollarName PROXY_ADDRESS)
                                                        <':'>
                                                        ($ Id.VSub_DollarName PROXY_PORT)
                                                        <Id.Right_DoubleQuote '"'>
                                                        <'\n'>
                                                      ]
                                                    )
                                                )
                                                (redir
                                                  op: <Id.Redir_DGreat '>>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<'/etc/bash.bashrc'>}
                                                )
                                              ]
                                              more_env: []
                                              do_fork: T
                                            )
                                          ]
                                          spids: [37328 37353]
                                        )
                                      ]
                                      else_action: [
                                        (command.Simple
                                          words: [{<cat>}]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_DLess '<<'>
                                              loc: (redir_loc.Fd fd:0)
                                              arg: 
                                                (redir_param.HereDoc
                                                  here_begin: {<_EOF_>}
                                                  here_end_span_id: 37403
                                                  stdin_parts: [
                                                    <'export {http,https,ftp}_proxy='>
                                                    <Id.Right_DoubleQuote '"'>
                                                    <'http://'>
                                                    ($ Id.VSub_DollarName PROXY_ADDRESS)
                                                    <':'>
                                                    ($ Id.VSub_DollarName PROXY_PORT)
                                                    <Id.Right_DoubleQuote '"'>
                                                    <'\n'>
                                                  ]
                                                )
                                            )
                                            (redir
                                              op: <Id.Redir_DGreat '>>'>
                                              loc: (redir_loc.Fd fd:1)
                                              arg: {<'/etc/bash.bashrc'>}
                                            )
                                          ]
                                          more_env: []
                                          do_fork: T
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [37310 37324]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'REBOOT_REQUIRED='>
                                      name: REBOOT_REQUIRED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [37418]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'Proxy: Reboot required'>)}
                                  spids: [37423]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                      name: WHIP_QUESTION
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'Your proxy settings have been saved.\\n\\nNB: You must reboot your system, before the new proxy settings will take effect.\\n\\nReboot system now?'
                                        >
                                      )
                                    }
                                  spids: [37429]
                                )
                              ]
                              redirects: []
                            )
                            (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                              {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} 
                              {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<13>} {<65>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [37474]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [(C {<reboot>})]
                                  spids: [37478 37492]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'PROXY_ENABLED='>
                                      name: PROXY_ENABLED
                                    )
                                  op: assign_op.Equal
                                  rhs: {<-1>}
                                  spids: [37506]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<17>}
                                  spids: [37515]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [37201 37202 37519 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [36800 36814]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'PROXY_ENABLED='>
                          name: PROXY_ENABLED
                        )
                      op: assign_op.Equal
                      rhs: {<-1>}
                      spids: [37533]
                    )
                  ]
                  redirects: []
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DParen
                      child: 
                        (arith_expr.Binary
                          op_id: Id.Arith_GreatEqual
                          left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)}
                          right: {<Id.Lit_Digits 0>}
                        )
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Great
                              left: {($ Id.VSub_DollarName TARGETMENUID)}
                              right: 
                                (arith_expr.Unary
                                  op_id: Id.Node_UnaryMinus
                                  child: {<Id.Lit_Digits 1>}
                                )
                            )
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  children: [
                    (C {<clear>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_Main>})]
                          spids: [37605 37619]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_DisplayOptions>})]
                          spids: [37625 37639]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_DisplayOptions_Driver_Resolution>})]
                          spids: [37645 37659]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_AdvancedOptions>})]
                          spids: [37665 37679]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_PerformanceOptions>})]
                          spids: [37685 37699]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 5>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_SecurityOptions>})]
                          spids: [37705 37719]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 6>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_GpumemoryOptions>})]
                          spids: [37725 37739]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 7>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_LanguageOptions>})]
                          spids: [37745 37759]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 8>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_NetworkAdapters>})]
                          spids: [37765 37779]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 9>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_NetworkAdapters_Ethernet>})]
                          spids: [37785 37799]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_NetworkAdapters_Wifi>})]
                          spids: [37805 37819]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 11>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_Tools>})]
                          spids: [37825 37839]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 12>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_FilesystemBenchmark>})]
                          spids: [37845 37859]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 13>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_Overclock>})]
                          spids: [37865 37879]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 14>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_AudioOptions>})]
                          spids: [37885 37899]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 15>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_StressTest>})]
                          spids: [37905 37919]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 16>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_Network_Nas_Misc>})]
                          spids: [37925 37939]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                                          right: {<Id.Lit_Digits 17>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Menu_NetworkAdapters_Proxy>})]
                          spids: [37945 37959]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
          ]
          spids: [37557 37571]
        )
      ]
      else_action: [
        (C {<echo>} {<-e>} 
          {
            (DQ <' >> Filesystem prep has not yet completed: '> <Id.Lit_BadBackslash '\\'> 
              <'n Please wait for the system to reboot '>
            )
          }
        )
      ]
      redirects: []
    )
    (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
  ]
  redirects: []
  right: <Id.Lit_RBrace '}'>
)