(CommandList
  children: [
    (BraceGroup
      children: [
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:INPUT) op:Equal rhs:{(0)} spids:[75])]
          spids: [75]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DBracket
                      expr: 
                        (BoolBinary
                          op_id: BoolBinary_EqualTilde
                          left: {($ VSub_Number '$1')}
                          right: 
                            {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) (Lit_Other ']') 
                              (Lit_Other '+') (Lit_Other '$')
                            }
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:INPUT)
                      op: Equal
                      rhs: {($ VSub_Number '$1')}
                      spids: [102]
                    )
                  ]
                  spids: [102]
                )
              ]
              spids: [16777215 99]
            )
          ]
          spids: [16777215 106]
        )
        (C {(.)} {(/DietPi/dietpi/func/dietpi-globals)})
        (C {(G_CHECK_ROOT_USER)})
        (C {(export)} {(Lit_VarLike 'G_PROGRAM_NAME=') (SQ <DietPi-Cloudshell>)})
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:DIETPI_CLOUDSHELL_VERSION)
              op: Equal
              rhs: {(9)}
              spids: [139]
            )
          ]
          spids: [139]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:FP_TEMP)
              op: Equal
              rhs: {(DQ (/tmp/dietpi-cloudshell))}
              spids: [148]
            )
          ]
          spids: [148]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:PROGRAM_NAME)
              op: Equal
              rhs: {(DQ (DietPi-Cloudshell))}
              spids: [155]
            )
          ]
          spids: [155]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:BLANK_SCREEN_ACTIVE) op:Equal rhs:{(0)} spids:[162])]
          spids: [162]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED)
              op: Equal
              rhs: {(0)}
              spids: [166]
            )
          ]
          spids: [166]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:BLANK_SCREEN_TIME_HOUR_START)
              op: Equal
              rhs: {(0)}
              spids: [170]
            )
          ]
          spids: [170]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:BLANK_SCREEN_TIME_HOUR_END)
              op: Equal
              rhs: {(0)}
              spids: [174]
            )
          ]
          spids: [174]
        )
        (FuncDef
          name: RUN_BLANK_SCREEN_AT_SPECIFIC_TIME
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:current_hour)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(date)} {(Lit_Other '+') (Lit_Other '%') (-H)})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [193 199]
                          )
                        }
                      spids: [192]
                    )
                  ]
                  spids: [190]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithUnary
                                  op_id: Arith_Bang
                                  child: (ArithWord w:{($ VSub_Name '$BLANK_SCREEN_ACTIVE')})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: 
                                            (ArithWord
                                              w: {($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_START')}
                                            )
                                          right: (ArithWord w:{($ VSub_Name '$current_hour')})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(clear)})
                                (C {(echo)} {(-e)} 
                                  {
                                    (DQ (Lit_Other '\\') (n) (Lit_Other '\\') 
                                      ('nScreen will be powered down in under 1 minute') (Lit_Other '\\') (n)
                                    )
                                  }
                                )
                                (Sentence
                                  child: (C {(setterm)} {(--blank)} {(1)} {(--powersave)} {(on)})
                                  terminator: <Op_Amp '&'>
                                )
                                (SimpleCommand
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 16777215
                                      arg_word: {(/dev/tty1)}
                                      spids: [268]
                                    )
                                  ]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:BLANK_SCREEN_ACTIVE)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [276]
                                    )
                                  ]
                                  spids: [276]
                                )
                              ]
                              spids: [16777215 237]
                            )
                          ]
                          spids: [16777215 280]
                        )
                      ]
                      spids: [16777215 219]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_END')})
                                  right: (ArithWord w:{($ VSub_Name '$current_hour')})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Sentence
                          child: (C {(setterm)} {(--blank)} {(poke)})
                          terminator: <Op_Amp '&'>
                        )
                        (SimpleCommand
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/tty1)}
                              spids: [312]
                            )
                          ]
                        )
                        (Sentence
                          child: (C {(setterm)} {(--reset)})
                          terminator: <Op_Amp '&'>
                        )
                        (SimpleCommand
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/tty1)}
                              spids: [322]
                            )
                          ]
                        )
                        (Sentence
                          child: (C {(setterm)} {(--blank)} {(0)} {(--powersave)} {(off)})
                          terminator: <Op_Amp '&'>
                        )
                        (SimpleCommand
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/tty1)}
                              spids: [338]
                            )
                          ]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:BLANK_SCREEN_ACTIVE)
                              op: Equal
                              rhs: {(0)}
                              spids: [343]
                            )
                          ]
                          spids: [343]
                        )
                      ]
                      spids: [288 302]
                    )
                  ]
                  spids: [16777215 348]
                )
              ]
              spids: [186]
            )
          spids: [183 186]
        )
        (FuncDef
          name: BC_ADD_LEADING_ZERO
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:return_value)
                      op: Equal
                      rhs: {($ VSub_Number '$1')}
                      spids: [373]
                    )
                  ]
                  spids: [371]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name return_value>
                                    suffix_op: 
                                      (Slice
                                        begin: (ArithWord w:{(Lit_Digits 0)})
                                        length: (ArithWord w:{(Lit_Digits 1)})
                                      )
                                    spids: [391 397]
                                  )
                                )
                              } {(Lit_Other '=')} {(DQ (.))} {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:return_value)
                              op: Equal
                              rhs: {(DQ (0) ($ VSub_Name '$return_value'))}
                              spids: [412]
                            )
                          ]
                          spids: [412]
                        )
                      ]
                      spids: [16777215 409]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name return_value>
                                    suffix_op: 
                                      (Slice
                                        begin: (ArithWord w:{(Lit_Digits 0)})
                                        length: (ArithWord w:{(Lit_Digits 2)})
                                      )
                                    spids: [429 435]
                                  )
                                )
                              } {(Lit_Other '=')} {(DQ (-.))} {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:return_value)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$return_value'))})
                                              (C {(sed)} {(SQ <'s/^-./-0./'>)})
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [451 467]
                                  )
                                }
                              spids: [450]
                            )
                          ]
                          spids: [450]
                        )
                      ]
                      spids: [424 447]
                    )
                  ]
                  spids: [16777215 470]
                )
                (C {(echo)} {(DQ ($ VSub_Name '$return_value'))})
              ]
              spids: [363]
            )
          spids: [360 363]
        )
        (FuncDef
          name: BYTE_PRINT_CONVERSION
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:return_value)
                      op: Equal
                      rhs: {(0)}
                      spids: [499]
                    )
                  ]
                  spids: [497]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:decimal_count)
                      op: Equal
                      rhs: {(1)}
                      spids: [505]
                    )
                  ]
                  spids: [503]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_Less
                                  left: (ArithWord w:{($ VSub_Number '$1')})
                                  right: (ArithWord w:{(Lit_Digits 1048576)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:return_value)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(echo)} 
                                                  {
                                                    (DQ ('scale=') ($ VSub_Name '$decimal_count') 
                                                      ('; ') ($ VSub_Number '$1') (' / 1024')
                                                    )
                                                  }
                                                )
                                                (C {(bc)} {(-l)})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [542 559]
                                    ) (' KB')
                                  )
                                }
                              spids: [540]
                            )
                          ]
                          spids: [540]
                        )
                      ]
                      spids: [16777215 533]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_Less
                                  left: (ArithWord w:{($ VSub_Number '$1')})
                                  right: (ArithWord w:{(Lit_Digits 1073741824)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:return_value)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(echo)} 
                                                  {
                                                    (DQ ('scale=') ($ VSub_Name '$decimal_count') 
                                                      ('; ') ($ VSub_Number '$1') (' / 1024 / 1024')
                                                    )
                                                  }
                                                )
                                                (C {(bc)} {(-l)})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [592 609]
                                    ) (' MB')
                                  )
                                }
                              spids: [590]
                            )
                          ]
                          spids: [590]
                        )
                      ]
                      spids: [569 583]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:return_value)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} 
                                              {
                                                (DQ ('scale=') ($ VSub_Name '$decimal_count') ('; ') 
                                                  ($ VSub_Number '$1') (' / 1024 / 1024 / 1024')
                                                )
                                              }
                                            )
                                            (C {(bc)} {(-l)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [628 645]
                                ) (' GB')
                              )
                            }
                          spids: [626]
                        )
                      ]
                      spids: [626]
                    )
                  ]
                  spids: [619 651]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:return_value)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(BC_ADD_LEADING_ZERO)} {(DQ ($ VSub_Name '$return_value'))})
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [660 666]
                          )
                        }
                      spids: [659]
                    )
                  ]
                  spids: [659]
                )
                (C {(echo)} {(DQ ($ VSub_Name '$return_value'))})
              ]
              spids: [493]
            )
          spids: [490 493]
        )
        (FuncDef
          name: BIT_PRINT_CONVERSION
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:return_value)
                      op: Equal
                      rhs: {(0)}
                      spids: [703]
                    )
                  ]
                  spids: [701]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:decimal_count)
                      op: Equal
                      rhs: {(1)}
                      spids: [709]
                    )
                  ]
                  spids: [707]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_Less
                                  left: (ArithWord w:{($ VSub_Number '$1')})
                                  right: (ArithWord w:{(Lit_Digits 1000000)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:return_value)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(echo)} 
                                                  {
                                                    (DQ ('scale=') ($ VSub_Name '$decimal_count') 
                                                      ('; ') ($ VSub_Number '$1') (' * 8 / 1000')
                                                    )
                                                  }
                                                )
                                                (C {(bc)} {(-l)})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [746 762]
                                    ) (' Kbit')
                                  )
                                }
                              spids: [744]
                            )
                          ]
                          spids: [744]
                        )
                      ]
                      spids: [16777215 737]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_Less
                                  left: (ArithWord w:{($ VSub_Number '$1')})
                                  right: (ArithWord w:{(Lit_Digits 1000000000)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:return_value)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(echo)} 
                                                  {
                                                    (DQ ('scale=') ($ VSub_Name '$decimal_count') 
                                                      ('; ') ($ VSub_Number '$1') ('  * 8 / 1000 / 1000')
                                                    )
                                                  }
                                                )
                                                (C {(bc)} {(-l)})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [795 811]
                                    ) (' Mbit')
                                  )
                                }
                              spids: [793]
                            )
                          ]
                          spids: [793]
                        )
                      ]
                      spids: [772 786]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:return_value)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (Pipeline
                                          children: [
                                            (C {(echo)} 
                                              {
                                                (DQ ('scale=') ($ VSub_Name '$decimal_count') ('; ') 
                                                  ($ VSub_Number '$1') (' * 8 / 1000 / 1000 / 1000')
                                                )
                                              }
                                            )
                                            (C {(bc)} {(-l)})
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [830 846]
                                ) (' Gbit')
                              )
                            }
                          spids: [828]
                        )
                      ]
                      spids: [828]
                    )
                  ]
                  spids: [821 852]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:return_value)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(BC_ADD_LEADING_ZERO)} {(DQ ($ VSub_Name '$return_value'))})
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [861 867]
                          )
                        }
                      spids: [860]
                    )
                  ]
                  spids: [860]
                )
                (C {(echo)} {(DQ ($ VSub_Name '$return_value'))})
              ]
              spids: [697]
            )
          spids: [694 697]
        )
        (FuncDef
          name: Enable_Term_Options
          body: 
            (BraceGroup
              children: [
                (C {(setfont)} {(/usr/share/consolefonts/Uni3-TerminusBold32x16)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_Less
                                  left: 
                                    (ArithWord
                                      w: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [(C {(tput)} {(lines)})]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [912 916]
                                          )
                                        }
                                    )
                                  right: (ArithWord w:{(Lit_Digits 10)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [(C {(setfont)} {(/usr/share/consolefonts/Uni3-TerminusBold24x12.psf)})]
                      spids: [16777215 926]
                    )
                  ]
                  spids: [16777215 936]
                )
              ]
              spids: [890]
            )
          spids: [887 890]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:C_RESET)
              op: Equal
              rhs: {(DQ (Lit_Other '\\') ('e[0m'))}
              spids: [956]
            )
          ]
          spids: [956]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:C_REVERSE)
              op: Equal
              rhs: {(DQ (Lit_Other '\\') ('e[7m'))}
              spids: [963]
            )
          ]
          spids: [963]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:C_BOLD)
              op: Equal
              rhs: {(DQ (Lit_Other '\\') ('e[1m'))}
              spids: [975]
            )
          ]
          spids: [975]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aCOLOUR)
              op: Equal
              rhs: 
                {
                  (ArrayLiteralPart
                    words: [
                      {(DQ (Lit_Other '\\') ('e[39m'))}
                      {(DQ (Lit_Other '\\') ('e[31m'))}
                      {(DQ (Lit_Other '\\') ('e[32m'))}
                      {(DQ (Lit_Other '\\') ('e[33m'))}
                      {(DQ (Lit_Other '\\') ('e[34m'))}
                      {(DQ (Lit_Other '\\') ('e[35m'))}
                      {(DQ (Lit_Other '\\') ('e[36m'))}
                      {(DQ (Lit_Other '\\') ('e[93m'))}
                    ]
                  )
                }
              spids: [1019]
            )
          ]
          spids: [1019]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:USER_COLOUR_INDEX) op:Equal rhs:{(3)} spids:[1079])]
          spids: [1079]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:C_PERCENT_GRAPH) op:Equal rhs:{(0)} spids:[1084])]
          spids: [1084]
        )
        (FuncDef
          name: Percent_To_Graph
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:input_value)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(echo)} {($ VSub_Number '$1')})
                                      (C {(cut)} {(-d.)} {(-f1)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [1111 1123]
                          )
                        }
                      spids: [1110]
                    )
                  ]
                  spids: [1108]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_Great
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 100)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:input_value)
                              op: Equal
                              rhs: {(100)}
                              spids: [1148]
                            )
                          ]
                          spids: [1148]
                        )
                      ]
                      spids: [16777215 1145]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_Less
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:input_value)
                              op: Equal
                              rhs: {(0)}
                              spids: [1169]
                            )
                          ]
                          spids: [1169]
                        )
                      ]
                      spids: [1152 1166]
                    )
                  ]
                  spids: [16777215 1173]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 95)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)}))
                                      spids: [1208 1213]
                                    ) (------WARNING-----) ($ VSub_Name '$C_RESET') (']')
                                  )
                                }
                              spids: [1202]
                            )
                          ]
                          spids: [1202]
                        )
                      ]
                      spids: [16777215 1199]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 90)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)}))
                                      spids: [1243 1248]
                                    ) (-----------------) ($ VSub_Name '$C_RESET') ('-]')
                                  )
                                }
                              spids: [1237]
                            )
                          ]
                          spids: [1237]
                        )
                      ]
                      spids: [1220 1234]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 88)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)}))
                                      spids: [1278 1283]
                                    ) (----------------) ($ VSub_Name '$C_RESET') ('--]')
                                  )
                                }
                              spids: [1272]
                            )
                          ]
                          spids: [1272]
                        )
                      ]
                      spids: [1255 1269]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 82)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)}))
                                      spids: [1313 1318]
                                    ) (---------------) ($ VSub_Name '$C_RESET') ('---]')
                                  )
                                }
                              spids: [1307]
                            )
                          ]
                          spids: [1307]
                        )
                      ]
                      spids: [1290 1304]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 76)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                                      spids: [1348 1353]
                                    ) (--------------) ($ VSub_Name '$C_RESET') ('----]')
                                  )
                                }
                              spids: [1342]
                            )
                          ]
                          spids: [1342]
                        )
                      ]
                      spids: [1325 1339]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 70)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                                      spids: [1383 1388]
                                    ) (-------------) ($ VSub_Name '$C_RESET') ('-----]')
                                  )
                                }
                              spids: [1377]
                            )
                          ]
                          spids: [1377]
                        )
                      ]
                      spids: [1360 1374]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 64)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                                      spids: [1418 1423]
                                    ) (------------) ($ VSub_Name '$C_RESET') ('------]')
                                  )
                                }
                              spids: [1412]
                            )
                          ]
                          spids: [1412]
                        )
                      ]
                      spids: [1395 1409]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 56)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                                      spids: [1453 1458]
                                    ) (-----------) ($ VSub_Name '$C_RESET') ('-------]')
                                  )
                                }
                              spids: [1447]
                            )
                          ]
                          spids: [1447]
                        )
                      ]
                      spids: [1430 1444]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 50)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                                      spids: [1488 1493]
                                    ) (----------) ($ VSub_Name '$C_RESET') ('--------]')
                                  )
                                }
                              spids: [1482]
                            )
                          ]
                          spids: [1482]
                        )
                      ]
                      spids: [1465 1479]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 44)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                                      spids: [1523 1528]
                                    ) (---------) ($ VSub_Name '$C_RESET') ('---------]')
                                  )
                                }
                              spids: [1517]
                            )
                          ]
                          spids: [1517]
                        )
                      ]
                      spids: [1500 1514]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 38)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                      spids: [1558 1563]
                                    ) (--------) ($ VSub_Name '$C_RESET') ('----------]')
                                  )
                                }
                              spids: [1552]
                            )
                          ]
                          spids: [1552]
                        )
                      ]
                      spids: [1535 1549]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 32)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                      spids: [1593 1598]
                                    ) (-------) ($ VSub_Name '$C_RESET') ('-----------]')
                                  )
                                }
                              spids: [1587]
                            )
                          ]
                          spids: [1587]
                        )
                      ]
                      spids: [1570 1584]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 26)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                      spids: [1628 1633]
                                    ) (------) ($ VSub_Name '$C_RESET') ('------------]')
                                  )
                                }
                              spids: [1622]
                            )
                          ]
                          spids: [1622]
                        )
                      ]
                      spids: [1605 1619]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 20)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                      spids: [1663 1668]
                                    ) (-----) ($ VSub_Name '$C_RESET') ('-------------]')
                                  )
                                }
                              spids: [1657]
                            )
                          ]
                          spids: [1657]
                        )
                      ]
                      spids: [1640 1654]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 15)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                      spids: [1698 1703]
                                    ) (----) ($ VSub_Name '$C_RESET') ('--------------]')
                                  )
                                }
                              spids: [1692]
                            )
                          ]
                          spids: [1692]
                        )
                      ]
                      spids: [1675 1689]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 10)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('% [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                      spids: [1733 1738]
                                    ) (---) ($ VSub_Name '$C_RESET') ('---------------]')
                                  )
                                }
                              spids: [1727]
                            )
                          ]
                          spids: [1727]
                        )
                      ]
                      spids: [1710 1724]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$input_value')})
                                  right: (ArithWord w:{(Lit_Digits 5)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:C_PERCENT_GRAPH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' ') ($ VSub_Name '$input_value') ('%  [') 
                                    ($ VSub_Name '$C_REVERSE') 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                      spids: [1768 1773]
                                    ) (--) ($ VSub_Name '$C_RESET') ('----------------]')
                                  )
                                }
                              spids: [1762]
                            )
                          ]
                          spids: [1762]
                        )
                      ]
                      spids: [1745 1759]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:C_PERCENT_GRAPH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (' ') ($ VSub_Name '$input_value') ('%  [') ($ VSub_Name '$C_REVERSE') 
                                (BracedVarSub
                                  token: <VSub_Name aCOLOUR>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                  spids: [1789 1794]
                                ) (-) ($ VSub_Name '$C_RESET') ('-----------------]')
                              )
                            }
                          spids: [1783]
                        )
                      ]
                      spids: [1783]
                    )
                  ]
                  spids: [1780 1801]
                )
              ]
              spids: [1091]
            )
          spids: [1088 1091]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:TEMPERATURE_CONVERSION_VALUE)
              op: Equal
              rhs: {(0)}
              spids: [1821]
            )
          ]
          spids: [1821]
        )
        (FuncDef
          name: Obtain_Temperature_Conversion
          body: 
            (BraceGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$TEMPERATURE_OUTPUT_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TEMPERATURE_CONVERSION_VALUE)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(awk)} 
                                            {
                                              (DQ ('BEGIN {printf ') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) ('%.0f') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (',') 
                                                ($ VSub_Name '$TEMPERATURE_CONVERSION_VALUE') (' * 1.8 + 32')
                                              ) (Lit_RBrace '}')
                                            }
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [1850 1863]
                                  )
                                }
                              spids: [1849]
                            )
                          ]
                          spids: [1849]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TEMPERATURE_CONVERSION_VALUE)
                              op: PlusEqual
                              rhs: {(DQ ("'f"))}
                              spids: [1866]
                            )
                          ]
                          spids: [1866]
                        )
                      ]
                      spids: [16777215 1846]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TEMPERATURE_CONVERSION_VALUE)
                          op: PlusEqual
                          rhs: {(DQ ("'c"))}
                          spids: [1875]
                        )
                      ]
                      spids: [1875]
                    )
                  ]
                  spids: [1872 1881]
                )
              ]
              spids: [1828]
            )
          spids: [1825 1828]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:DATE_TIME) op:Equal rhs:{(0)} spids:[1889])]
          spids: [1889]
        )
        (FuncDef
          name: Obtain_DATE_TIME
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:DATE_TIME)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(date)} {(Lit_Other '+') (DQ ('%a %x - %R'))})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [1901 1908]
                          )
                        }
                      spids: [1900]
                    )
                  ]
                  spids: [1900]
                )
              ]
              spids: [1896]
            )
          spids: [1893 1896]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:UPTIME) op:Equal rhs:{(0)} spids:[1916])]
          spids: [1916]
        )
        (FuncDef
          name: Obtain_UPTIME
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:fSeconds)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(cat)} {(/proc/uptime)})
                                      (C {(awk)} {(SQ <'{print $1}'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [1930 1942]
                          )
                        }
                      spids: [1929]
                    )
                  ]
                  spids: [1927]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:seconds)
                      op: Equal
                      rhs: 
                        {
                          (BracedVarSub
                            token: <VSub_Name fSeconds>
                            suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{('.*')})
                            spids: [1949 1953]
                          )
                        }
                      spids: [1948]
                    )
                  ]
                  spids: [1946]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:minutes) op:Equal rhs:{(0)} spids:[1958])]
                  spids: [1956]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:hours) op:Equal rhs:{(0)} spids:[1964])]
                  spids: [1962]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:days) op:Equal rhs:{(0)} spids:[1970])]
                  spids: [1968]
                )
                (While
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$seconds')})
                              right: (ArithWord w:{(Lit_Digits 60)})
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  body: 
                    (DoGroup
                      children: [
                        (DParen
                          child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:minutes))
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:seconds)
                              op: Equal
                              rhs: 
                                {
                                  (ArithSubPart
                                    anode: 
                                      (ArithBinary
                                        op_id: Arith_Minus
                                        left: (ArithWord w:{($ VSub_Name '$seconds')})
                                        right: (ArithWord w:{(Lit_Digits 60)})
                                      )
                                    spids: [2000 2009]
                                  )
                                }
                              spids: [1999]
                            )
                          ]
                          spids: [1999]
                        )
                      ]
                      spids: [1989 2012]
                    )
                )
                (While
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$minutes')})
                              right: (ArithWord w:{(Lit_Digits 60)})
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  body: 
                    (DoGroup
                      children: [
                        (DParen
                          child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:hours))
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:minutes)
                              op: Equal
                              rhs: 
                                {
                                  (ArithSubPart
                                    anode: 
                                      (ArithBinary
                                        op_id: Arith_Minus
                                        left: (ArithWord w:{($ VSub_Name '$minutes')})
                                        right: (ArithWord w:{(Lit_Digits 60)})
                                      )
                                    spids: [2041 2050]
                                  )
                                }
                              spids: [2040]
                            )
                          ]
                          spids: [2040]
                        )
                      ]
                      spids: [2030 2053]
                    )
                )
                (While
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$hours')})
                              right: (ArithWord w:{(Lit_Digits 24)})
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  body: 
                    (DoGroup
                      children: [
                        (DParen
                          child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:days))
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:hours)
                              op: Equal
                              rhs: 
                                {
                                  (ArithSubPart
                                    anode: 
                                      (ArithBinary
                                        op_id: Arith_Minus
                                        left: (ArithWord w:{($ VSub_Name '$hours')})
                                        right: (ArithWord w:{(Lit_Digits 24)})
                                      )
                                    spids: [2082 2091]
                                  )
                                }
                              spids: [2081]
                            )
                          ]
                          spids: [2081]
                        )
                      ]
                      spids: [2071 2094]
                    )
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:UPTIME)
                      op: Equal
                      rhs: 
                        {
                          (DQ ('Uptime: ') ($ VSub_Name '$days') (' Day, ') ($ VSub_Name '$hours') 
                            (' Hour')
                          )
                        }
                      spids: [2098]
                    )
                  ]
                  spids: [2098]
                )
              ]
              spids: [1923]
            )
          spids: [1920 1923]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:CPU_GOV) op:Equal rhs:{(0)} spids:[2117])]
          spids: [2117]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:CPU_TEMP) op:Equal rhs:{(0)} spids:[2121])]
          spids: [2121]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:C_CPUTEMP) op:Equal rhs:{(0)} spids:[2125])]
          spids: [2125]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:CPU_FREQ_1) op:Equal rhs:{(0)} spids:[2129])]
          spids: [2129]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:CPU_FREQ_2) op:Equal rhs:{(0)} spids:[2133])]
          spids: [2133]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:CPU_USAGE) op:Equal rhs:{(0)} spids:[2137])]
          spids: [2137]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:CPU_TOTALPROCESSES) op:Equal rhs:{(0)} spids:[2141])]
          spids: [2141]
        )
        (FuncDef
          name: Obtain_CPU
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CPU_TOTALPROCESSES)
                      op: Equal
                      rhs: 
                        {
                          (ArithSubPart
                            anode: 
                              (ArithBinary
                                op_id: Arith_Minus
                                left: 
                                  (ArithWord
                                    w: 
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(ps)} {(--ppid)} {(2)} {(-p)} {(2)} {(--deselect)})
                                                    (C {(wc)} {(-l)})
                                                  ]
                                                  negated: F
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [2155 2173]
                                        )
                                      }
                                  )
                                right: (ArithWord w:{(Lit_Digits 2)})
                              )
                            spids: [2153 2180]
                          )
                        }
                      spids: [2152]
                    )
                  ]
                  spids: [2152]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CPU_GOV)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(cat)} {(/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)})
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [2187 2191]
                          )
                        }
                      spids: [2186]
                    )
                  ]
                  spids: [2186]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CPU_TEMP)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(G_OBTAIN_CPU_TEMP)})])
                            left_token: <Left_CommandSub '$('>
                            spids: [2195 2197]
                          )
                        }
                      spids: [2194]
                    )
                  ]
                  spids: [2194]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_EqualTilde
                                  left: {($ VSub_Name '$CPU_TEMP')}
                                  right: 
                                    {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) 
                                      (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                    }
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_GreatEqual
                                          left: (ArithWord w:{($ VSub_Name '$CPU_TEMP')})
                                          right: (ArithWord w:{(Lit_Digits 65)})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:C_CPUTEMP)
                                      op: Equal
                                      rhs: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name aCOLOUR>
                                            bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)}))
                                            spids: [2248 2253]
                                          )
                                        }
                                      spids: [2247]
                                    )
                                  ]
                                  spids: [2247]
                                )
                              ]
                              spids: [16777215 2243]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_GreatEqual
                                          left: (ArithWord w:{($ VSub_Name '$CPU_TEMP')})
                                          right: (ArithWord w:{(Lit_Digits 50)})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:C_CPUTEMP)
                                      op: Equal
                                      rhs: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name aCOLOUR>
                                            bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                                            spids: [2276 2281]
                                          )
                                        }
                                      spids: [2275]
                                    )
                                  ]
                                  spids: [2275]
                                )
                              ]
                              spids: [2257 2271]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_GreatEqual
                                          left: (ArithWord w:{($ VSub_Name '$CPU_TEMP')})
                                          right: (ArithWord w:{(Lit_Digits 35)})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:C_CPUTEMP)
                                      op: Equal
                                      rhs: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name aCOLOUR>
                                            bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                            spids: [2304 2309]
                                          )
                                        }
                                      spids: [2303]
                                    )
                                  ]
                                  spids: [2303]
                                )
                              ]
                              spids: [2285 2299]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:C_CPUTEMP)
                                  op: Equal
                                  rhs: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aCOLOUR>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 4)}))
                                        spids: [2318 2323]
                                      )
                                    }
                                  spids: [2317]
                                )
                              ]
                              spids: [2317]
                            )
                          ]
                          spids: [2313 2327]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TEMPERATURE_CONVERSION_VALUE)
                              op: Equal
                              rhs: {($ VSub_Name '$CPU_TEMP')}
                              spids: [2335]
                            )
                          ]
                          spids: [2335]
                        )
                        (C {(Obtain_Temperature_Conversion)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:CPU_TEMP)
                              op: Equal
                              rhs: {($ VSub_Name '$TEMPERATURE_CONVERSION_VALUE')}
                              spids: [2342]
                            )
                          ]
                          spids: [2342]
                        )
                      ]
                      spids: [16777215 2221]
                    )
                  ]
                  spids: [16777215 2347]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CPU_FREQ_1)
                      op: Equal
                      rhs: 
                        {
                          (ArithSubPart
                            anode: 
                              (ArithBinary
                                op_id: Arith_Slash
                                left: 
                                  (ArithWord
                                    w: 
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(cat)} 
                                                  {
                                                    (
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
                                                    )
                                                  }
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [2354 2358]
                                        )
                                      }
                                  )
                                right: (ArithWord w:{(Lit_Digits 1000)})
                              )
                            spids: [2352 2365]
                          )
                        }
                      spids: [2351]
                    )
                  ]
                  spids: [2351]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CPU_FREQ_2)
                      op: Equal
                      rhs: {(DQ (N/A))}
                      spids: [2368]
                    )
                  ]
                  spids: [2368]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                  right: (ArithWord w:{(Lit_Digits 11)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:CPU_FREQ_2)
                              op: Equal
                              rhs: 
                                {
                                  (ArithSubPart
                                    anode: 
                                      (ArithBinary
                                        op_id: Arith_Slash
                                        left: 
                                          (ArithWord
                                            w: 
                                              {
                                                (CommandSubPart
                                                  command_list: 
                                                    (CommandList
                                                      children: [
                                                        (C {(cat)} 
                                                          {
                                                            (
/sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq
                                                            )
                                                          }
                                                        )
                                                      ]
                                                    )
                                                  left_token: <Left_CommandSub '$('>
                                                  spids: [2400 2404]
                                                )
                                              }
                                          )
                                        right: (ArithWord w:{(Lit_Digits 1000)})
                                      )
                                    spids: [2398 2411]
                                  )
                                }
                              spids: [2397]
                            )
                          ]
                          spids: [2397]
                        )
                      ]
                      spids: [16777215 2393]
                    )
                  ]
                  spids: [16777215 2415]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:CPU_USAGE) op:Equal rhs:{(0)} spids:[2419])]
                  spids: [2419]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:FP_TEMP)
                      op: Equal
                      rhs: {(DQ (/tmp/.cpu_usage))}
                      spids: [2423]
                    )
                  ]
                  spids: [2423]
                )
                (Pipeline
                  children: [
                    (C {(ps)} {(-axo)} {(Lit_Other '%') (cpu)})
                    (C {(sed)} {(SQ <1d>)})
                    (SimpleCommand
                      words: [{(sed)} {(SQ <'s/ //'>)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$FP_TEMP'))}
                          spids: [2457]
                        )
                      ]
                    )
                  ]
                  negated: F
                )
                (While
                  cond: [(C {(read)} {(-r)} {(line)})]
                  body: 
                    (DoGroup
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:CPU_USAGE)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(echo)} 
                                                {
                                                  (DQ ('scale=1;') ($ VSub_Name '$CPU_USAGE') (' + ') 
                                                    ($ VSub_Name '$line')
                                                  )
                                                }
                                              )
                                              (C {(bc)} {(-l)})
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [2478 2495]
                                  )
                                }
                              spids: [2477]
                            )
                          ]
                          spids: [2477]
                        )
                      ]
                      spids: [2473 2499]
                    )
                  redirects: [
                    (Redir
                      op_id: Redir_Less
                      fd: 16777215
                      arg_word: {($ VSub_Name '$FP_TEMP')}
                      spids: [2501]
                    )
                  ]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CPU_USAGE)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(echo)} 
                                        {
                                          (DQ ('scale=0;') ($ VSub_Name '$CPU_USAGE') (' / ') 
                                            ($ VSub_Name '$G_HW_CPU_CORES')
                                          )
                                        }
                                      )
                                      (C {(bc)} {(-l)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [2512 2528]
                          )
                        }
                      spids: [2511]
                    )
                  ]
                  spids: [2511]
                )
                (C {(Percent_To_Graph)} {($ VSub_Name '$CPU_USAGE')})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CPU_USAGE)
                      op: Equal
                      rhs: {($ VSub_Name '$C_PERCENT_GRAPH')}
                      spids: [2554]
                    )
                  ]
                  spids: [2554]
                )
              ]
              spids: [2148]
            )
          spids: [2145 2148]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:MAX_STORAGE) op:Equal rhs:{(6)} spids:[2571])]
          spids: [2571]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:STORAGE_TOTAL)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [2575]
            )
          ]
          spids: [2575]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:STORAGE_USED)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [2580]
            )
          ]
          spids: [2580]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:STORAGE_FREE)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [2585]
            )
          ]
          spids: [2585]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:STORAGE_PERCENT)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [2590]
            )
          ]
          spids: [2590]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:STORAGE_PATH)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [2595]
            )
          ]
          spids: [2595]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:STORAGE_NAME)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [2600]
            )
          ]
          spids: [2600]
        )
        (FuncDef
          name: Init_STORAGE
          body: 
            (BraceGroup
              children: [
                (ForExpr
                  init: 
                    (BinaryAssign
                      op_id: Arith_Equal
                      left: (LhsName name:i)
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                  cond: 
                    (ArithBinary
                      op_id: Arith_Less
                      left: (ArithVarRef name:i)
                      right: (ArithWord w:{($ VSub_Name '$MAX_STORAGE')})
                    )
                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                  body: 
                    (DoGroup
                      children: [
                        (C 
                          {(STORAGE_TOTAL) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                            (Lit_Other '=') (SQ <N/A>)
                          }
                        )
                        (C 
                          {(STORAGE_USED) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                            (Lit_Other '=') (SQ <N/A>)
                          }
                        )
                        (C 
                          {(STORAGE_FREE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                            (Lit_Other '=') (SQ <N/A>)
                          }
                        )
                        (C 
                          {(STORAGE_PERCENT) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                            (Lit_Other '=') (SQ <' Not installed'>)
                          }
                        )
                        (C 
                          {(STORAGE_NAME) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                            (Lit_Other '=') (0)
                          }
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$i')})
                                          right: (ArithWord w:{(Lit_Digits 0)})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C 
                                  {(STORAGE_PATH) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                    (Lit_Other '=') (SQ </>)
                                  }
                                )
                                (C 
                                  {(STORAGE_NAME) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                    (Lit_Other '=') (SQ <'Flash/RootFS Storage:    '>)
                                  }
                                )
                              ]
                              spids: [16777215 2702]
                            )
                          ]
                          else_action: [
                            (C 
                              {(STORAGE_PATH) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (DQ (/mnt/usb_) ($ VSub_Name '$i'))
                              }
                            )
                            (C 
                              {(STORAGE_NAME) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (DQ ('Storage ') ($ VSub_Name '$i') (':               '))
                              }
                            )
                          ]
                          spids: [2727 2755]
                        )
                      ]
                      spids: [2632 2759]
                    )
                )
              ]
              spids: [2609]
            )
          spids: [2606 2609]
        )
        (FuncDef
          name: Destroy_STORAGE
          body: 
            (BraceGroup
              children: [
                (C {(unset)} {(STORAGE_TOTAL)})
                (C {(unset)} {(STORAGE_USED)})
                (C {(unset)} {(STORAGE_FREE)})
                (C {(unset)} {(STORAGE_PERCENT)})
                (C {(unset)} {(STORAGE_PATH)})
                (C {(unset)} {(STORAGE_NAME)})
              ]
              spids: [2770]
            )
          spids: [2767 2770]
        )
        (FuncDef
          name: Obtain_STORAGE
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:index_start)
                      op: Equal
                      rhs: {($ VSub_Number '$1')}
                      spids: [2822]
                    )
                  ]
                  spids: [2820]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:index_end)
                      op: Equal
                      rhs: {($ VSub_Number '$2')}
                      spids: [2828]
                    )
                  ]
                  spids: [2826]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:FP_TEMP)
                      op: Equal
                      rhs: {(DQ (/tmp/.df))}
                      spids: [2833]
                    )
                  ]
                  spids: [2833]
                )
                (C {(rm)} {(DQ ($ VSub_Name '$FP_TEMP'))})
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:df_failed) op:Equal rhs:{(0)} spids:[2857])]
                  spids: [2855]
                )
                (Sentence
                  child: 
                    (SimpleCommand
                      words: [{(df)} {(-Ph)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {($ VSub_Name '$FP_TEMP')}
                          spids: [2865]
                        )
                      ]
                    )
                  terminator: <Op_Amp '&'>
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:pid)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(echo)} {($ VSub_Bang '$!')})])
                            left_token: <Left_CommandSub '$('>
                            spids: [2875 2879]
                          )
                        }
                      spids: [2874]
                    )
                  ]
                  spids: [2872]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:max_seconds)
                      op: Equal
                      rhs: {(4)}
                      spids: [2889]
                    )
                  ]
                  spids: [2887]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:current_seconds)
                      op: Equal
                      rhs: {(0)}
                      spids: [2895]
                    )
                  ]
                  spids: [2893]
                )
                (While
                  cond: [
                    (DParen
                      child: 
                        (ArithWord
                          w: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(ps)} {(aux)})
                                          (C {(awk)} {(SQ <'{print $2}'>)})
                                          (C {(grep)} {(-ci)} {(-m1)} 
                                            {(DQ ($ VSub_Name '$pid') (Lit_Other '$'))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [2903 2928]
                              )
                            }
                        )
                    )
                  ]
                  body: 
                    (DoGroup
                      children: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_GreatEqual
                                          left: (ArithWord w:{($ VSub_Name '$current_seconds')})
                                          right: (ArithWord w:{($ VSub_Name '$max_seconds')})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(G_DIETPI-NOTIFY)} {(1)} 
                                  {(DQ ('DF failed, unable to obtain drive data'))}
                                )
                                (C {(sleep)} {(2)})
                                (C {(kill)} {($ VSub_Name '$pid')})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:df_failed)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [2985]
                                    )
                                  ]
                                  spids: [2985]
                                )
                                (SimpleCommand
                                  words: [
                                    {(echo)}
                                    {(-e)}
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: (CommandList children:[(C {(date)})])
                                          left_token: <Left_CommandSub '$('>
                                          spids: [2995 2997]
                                        ) (' | df failed to respond')
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_DGreat
                                      fd: 16777215
                                      arg_word: {(/var/log/dietpi-cloudshell.log)}
                                      spids: [3001]
                                    )
                                  ]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              spids: [16777215 2955]
                            )
                          ]
                          else_action: [
                            (C {(sleep)} {(1)})
                            (DParen
                              child: 
                                (UnaryAssign
                                  op_id: Node_PostDPlus
                                  child: (LhsName name:current_seconds)
                                )
                            )
                          ]
                          spids: [3011 3028]
                        )
                      ]
                      spids: [2937 3032]
                    )
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (DParen child:(ArithWord w:{($ VSub_Name '$df_failed')}))
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (ForExpr
                          init: 
                            (BinaryAssign
                              op_id: Arith_Equal
                              left: (LhsName name:i)
                              right: (ArithWord w:{($ VSub_Name '$index_start')})
                            )
                          cond: 
                            (ArithBinary
                              op_id: Arith_LessEqual
                              left: (ArithVarRef name:i)
                              right: (ArithWord w:{($ VSub_Name '$index_end')})
                            )
                          update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                          body: 
                            (DoGroup
                              children: [
                                (C 
                                  {(STORAGE_PERCENT) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') 
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name STORAGE_PATH>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                        spids: [3079 3084]
                                      )
                                    )
                                  }
                                )
                                (C 
                                  {(STORAGE_FREE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                    (Lit_Other '=') (SQ <'DF failed'>)
                                  }
                                )
                              ]
                              spids: [3069 3099]
                            )
                        )
                      ]
                      spids: [16777215 3046]
                    )
                  ]
                  else_action: [
                    (ForExpr
                      init: 
                        (BinaryAssign
                          op_id: Arith_Equal
                          left: (LhsName name:i)
                          right: (ArithWord w:{($ VSub_Name '$index_start')})
                        )
                      cond: 
                        (ArithBinary
                          op_id: Arith_LessEqual
                          left: (ArithVarRef name:i)
                          right: (ArithWord w:{($ VSub_Name '$index_end')})
                        )
                      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                                              (C {(grep)} {(-ci)} {(-m1)} 
                                                                {
                                                                  (DQ 
                                                                    (BracedVarSub
                                                                      token: <VSub_Name STORAGE_PATH>
                                                                      bracket_op: 
                                                                        (ArrayIndex
                                                                          expr: 
                                                                            (ArithWord
                                                                              w: {($ VSub_Name '$i')}
                                                                            )
                                                                        )
                                                                      spids: [3148 3153]
                                                                    ) (Lit_Other '$')
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_CommandSub '$('>
                                                    spids: [3134 3156]
                                                  )
                                                }
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Sentence
                                      child: 
                                        (C 
                                          {(STORAGE_TOTAL) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') 
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (Pipeline
                                                      children: [
                                                        (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                                        (C {(grep)} {(-m1)} 
                                                          {
                                                            (DQ 
                                                              (BracedVarSub
                                                                token: <VSub_Name STORAGE_PATH>
                                                                bracket_op: 
                                                                  (ArrayIndex
                                                                    expr: 
                                                                      (ArithWord
                                                                        w: {($ VSub_Name '$i')}
                                                                      )
                                                                  )
                                                                spids: [3183 3188]
                                                              ) (Lit_Other '$')
                                                            )
                                                          }
                                                        )
                                                        (C {(awk)} {(SQ <'{print $2}'>)})
                                                      ]
                                                      negated: F
                                                    )
                                                  ]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [3171 3199]
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (C 
                                      {(STORAGE_TOTAL) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '+') (Lit_Other '=') (SQ <B>)
                                      }
                                    )
                                    (Sentence
                                      child: 
                                        (C 
                                          {(STORAGE_USED) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') 
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (Pipeline
                                                      children: [
                                                        (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                                        (C {(grep)} {(-m1)} 
                                                          {
                                                            (DQ 
                                                              (BracedVarSub
                                                                token: <VSub_Name STORAGE_PATH>
                                                                bracket_op: 
                                                                  (ArrayIndex
                                                                    expr: 
                                                                      (ArithWord
                                                                        w: {($ VSub_Name '$i')}
                                                                      )
                                                                  )
                                                                spids: [3230 3235]
                                                              ) (Lit_Other '$')
                                                            )
                                                          }
                                                        )
                                                        (C {(awk)} {(SQ <'{print $3}'>)})
                                                      ]
                                                      negated: F
                                                    )
                                                  ]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [3218 3246]
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (C 
                                      {(STORAGE_USED) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '+') (Lit_Other '=') (SQ <B>)
                                      }
                                    )
                                    (Sentence
                                      child: 
                                        (C 
                                          {(STORAGE_FREE) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') 
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (Pipeline
                                                      children: [
                                                        (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                                        (C {(grep)} {(-m1)} 
                                                          {
                                                            (DQ 
                                                              (BracedVarSub
                                                                token: <VSub_Name STORAGE_PATH>
                                                                bracket_op: 
                                                                  (ArrayIndex
                                                                    expr: 
                                                                      (ArithWord
                                                                        w: {($ VSub_Name '$i')}
                                                                      )
                                                                  )
                                                                spids: [3277 3282]
                                                              ) (Lit_Other '$')
                                                            )
                                                          }
                                                        )
                                                        (C {(awk)} {(SQ <'{print $4}'>)})
                                                      ]
                                                      negated: F
                                                    )
                                                  ]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [3265 3293]
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (C 
                                      {(STORAGE_FREE) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '+') (Lit_Other '=') (SQ <B>)
                                      }
                                    )
                                    (C 
                                      {(STORAGE_PERCENT) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                                    (C {(grep)} {(-m1)} 
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name STORAGE_PATH>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [3324 3329]
                                                          ) (Lit_Other '$')
                                                        )
                                                      }
                                                    )
                                                    (C {(awk)} {(SQ <'{print $5}'>)})
                                                    (C {(sed)} {(SQ <'s/%//g'>)})
                                                  ]
                                                  negated: F
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [3312 3348]
                                        )
                                      }
                                    )
                                    (C {(Percent_To_Graph)} 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name STORAGE_PERCENT>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                            )
                                          spids: [3354 3359]
                                        )
                                      }
                                    )
                                    (C 
                                      {(STORAGE_PERCENT) (Lit_Other '[') ($ VSub_Name '$i') 
                                        (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$C_PERCENT_GRAPH')
                                      }
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {(-e)}
                                        {(DQ ('Results success:') (Lit_Other '\\') (n))}
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: 16777215
                                          arg_word: {(/var/log/dietpi-cloudshell.log)}
                                          spids: [3385]
                                        )
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [{(echo)} {(-e)} {(DQ (' - Index = ') ($ VSub_Name '$i'))}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: 16777215
                                          arg_word: {(/var/log/dietpi-cloudshell.log)}
                                          spids: [3399]
                                        )
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {(-e)}
                                        {
                                          (DQ (' - Path  = ') 
                                            (BracedVarSub
                                              token: <VSub_Name STORAGE_PATH>
                                              bracket_op: 
                                                (ArrayIndex
                                                  expr: (ArithWord w:{($ VSub_Name '$i')})
                                                )
                                              spids: [3410 3415]
                                            )
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: 16777215
                                          arg_word: {(/var/log/dietpi-cloudshell.log)}
                                          spids: [3418]
                                        )
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {(-e)}
                                        {
                                          (DQ (' - Total = ') 
                                            (BracedVarSub
                                              token: <VSub_Name STORAGE_TOTAL>
                                              bracket_op: 
                                                (ArrayIndex
                                                  expr: (ArithWord w:{($ VSub_Name '$i')})
                                                )
                                              spids: [3429 3434]
                                            )
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: 16777215
                                          arg_word: {(/var/log/dietpi-cloudshell.log)}
                                          spids: [3437]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 3162]
                                )
                              ]
                              else_action: [
                                (C 
                                  {(STORAGE_PERCENT) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') 
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name STORAGE_PATH>
                                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                        spids: [3453 3458]
                                      )
                                    )
                                  }
                                )
                                (C 
                                  {(STORAGE_FREE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                    (Lit_Other '=') (SQ <'Mount not active'>)
                                  }
                                )
                                (SimpleCommand
                                  words: [
                                    {(echo)}
                                    {(-e)}
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: (CommandList children:[(C {(date)})])
                                          left_token: <Left_CommandSub '$('>
                                          spids: [3482 3484]
                                        ) (' | Mount not found:') (Lit_Other '\\') (n)
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_DGreat
                                      fd: 16777215
                                      arg_word: {(/var/log/dietpi-cloudshell.log)}
                                      spids: [3490]
                                    )
                                  ]
                                )
                                (SimpleCommand
                                  words: [{(echo)} {(-e)} {(DQ (' - Index = ') ($ VSub_Name '$i'))}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_DGreat
                                      fd: 16777215
                                      arg_word: {(/var/log/dietpi-cloudshell.log)}
                                      spids: [3504]
                                    )
                                  ]
                                )
                                (SimpleCommand
                                  words: [
                                    {(echo)}
                                    {(-e)}
                                    {
                                      (DQ (' - Path  = ') 
                                        (BracedVarSub
                                          token: <VSub_Name STORAGE_PATH>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                            )
                                          spids: [3515 3520]
                                        ) (Lit_Other '\\') (n)
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_DGreat
                                      fd: 16777215
                                      arg_word: {(/var/log/dietpi-cloudshell.log)}
                                      spids: [3525]
                                    )
                                  ]
                                )
                                (SimpleCommand
                                  words: [{(cat)} {(DQ ($ VSub_Name '$FP_TEMP'))}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_DGreat
                                      fd: 16777215
                                      arg_word: {(/var/log/dietpi-cloudshell.log)}
                                      spids: [3536]
                                    )
                                  ]
                                )
                                (SimpleCommand
                                  words: [{(echo)} {(-e)} {(DQ (Lit_Other '\\') (n))}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_DGreat
                                      fd: 16777215
                                      arg_word: {(/var/log/dietpi-cloudshell.log)}
                                      spids: [3550]
                                    )
                                  ]
                                )
                              ]
                              spids: [3443 3556]
                            )
                          ]
                          spids: [3126 3560]
                        )
                    )
                  ]
                  spids: [3103 3564]
                )
              ]
              spids: [2816]
            )
          spids: [2813 2816]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:DIETPI_VERSION_CURRENT)
              op: Equal
              rhs: {(0)}
              spids: [3576]
            )
          ]
          spids: [3576]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:DIETPI_UPDATE_AVAILABLE)
              op: Equal
              rhs: {(0)}
              spids: [3580]
            )
          ]
          spids: [3580]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:DIETPI_WEBSITE)
              op: Equal
              rhs: {(SQ <dietpi.com>)}
              spids: [3584]
            )
          ]
          spids: [3584]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:DIETPI_TWITTER)
              op: Equal
              rhs: {(DQ ('@dietpi_'))}
              spids: [3590]
            )
          ]
          spids: [3590]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:DIETPI_HW_DESCRIPTION)
              op: Equal
              rhs: {(DQ (N/A))}
              spids: [3596]
            )
          ]
          spids: [3596]
        )
        (FuncDef
          name: Obtain_DIETPIINFO
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:DIETPI_VERSION_CURRENT)
                      op: Equal
                      rhs: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name aCOLOUR>
                              bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                              spids: [3615 3620]
                            ) 
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [(C {(sed)} {(-n)} {(1p)} {(/DietPi/dietpi/.version)})]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [3621 3629]
                            ) (.) 
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [(C {(sed)} {(-n)} {(2p)} {(/DietPi/dietpi/.version)})]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [3631 3639]
                            ) ($ VSub_Name '$C_RESET')
                          )
                        }
                      spids: [3613]
                    )
                  ]
                  spids: [3613]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:DIETPI_HW_DESCRIPTION)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(sed)} {(-n)} {(2p)} {(/DietPi/dietpi/.hw_model)})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [3650 3658]
                          )
                        }
                      spids: [3649]
                    )
                  ]
                  spids: [3649]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:DIETPI_UPDATE_AVAILABLE)
                      op: Equal
                      rhs: {(DQ (N/A))}
                      spids: [3666]
                    )
                  ]
                  spids: [3666]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-f)} {(/DietPi/dietpi/.update_available)} 
                              {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:DIETPI_VERSION_CURRENT)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name aCOLOUR>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)}))
                                      spids: [3693 3698]
                                    ) 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(sed)} {(-n)} {(1p)} {(/DietPi/dietpi/.version)})
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [3699 3707]
                                    ) (.) 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(sed)} {(-n)} {(2p)} {(/DietPi/dietpi/.version)})
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [3709 3717]
                                    ) ($ VSub_Name '$C_RESET')
                                  )
                                }
                              spids: [3691]
                            )
                          ]
                          spids: [3691]
                        )
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:update_version)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [(C {(cat)} {(/DietPi/dietpi/.update_available)})]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [3726 3730]
                                  )
                                }
                              spids: [3725]
                            )
                          ]
                          spids: [3723]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$update_version'))} 
                                      {(Lit_Other '=')} {(SQ <-1>)} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:DIETPI_UPDATE_AVAILABLE)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name aCOLOUR>
                                              bracket_op: 
                                                (ArrayIndex
                                                  expr: (ArithWord w:{(Lit_Digits 2)})
                                                )
                                              spids: [3756 3761]
                                            ) ('New Image') ($ VSub_Name '$C_RESET')
                                          )
                                        }
                                      spids: [3754]
                                    )
                                  ]
                                  spids: [3754]
                                )
                              ]
                              spids: [16777215 3750]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:DIETPI_UPDATE_AVAILABLE)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name aCOLOUR>
                                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                          spids: [3774 3779]
                                        ) ($ VSub_Name '$update_version') ($ VSub_Name '$C_RESET')
                                      )
                                    }
                                  spids: [3772]
                                )
                              ]
                              spids: [3772]
                            )
                          ]
                          spids: [3768 3786]
                        )
                      ]
                      spids: [16777215 3683]
                    )
                  ]
                  spids: [16777215 3790]
                )
              ]
              spids: [3605]
            )
          spids: [3602 3605]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_DETAILS_ADAPTER)
              op: Equal
              rhs: {(SQ <eth0>)}
              spids: [3802]
            )
          ]
          spids: [3802]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_DETAILS_IP_INT)
              op: Equal
              rhs: {(0)}
              spids: [3808]
            )
          ]
          spids: [3808]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_DETAILS_MAC_ADDRESS)
              op: Equal
              rhs: {(0)}
              spids: [3812]
            )
          ]
          spids: [3812]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_DETAILS_SIGNAL_STRENGTH)
              op: Equal
              rhs: {(0)}
              spids: [3816]
            )
          ]
          spids: [3816]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_DETAILS_DUPLEXSPEED)
              op: Equal
              rhs: {(0)}
              spids: [3820]
            )
          ]
          spids: [3820]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_DETAILS_HOSTNAME)
              op: Equal
              rhs: {(0)}
              spids: [3824]
            )
          ]
          spids: [3824]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_DETAILS_MODE)
              op: Equal
              rhs: {(0)}
              spids: [3828]
            )
          ]
          spids: [3828]
        )
        (FuncDef
          name: Obtain_NETWORK_DETAILS
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:FP_TEMP)
                      op: Equal
                      rhs: {(DQ (/tmp/.ifconfig))}
                      spids: [3842]
                    )
                  ]
                  spids: [3842]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:NETWORK_DETAILS_HOSTNAME)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(hostname)})])
                            left_token: <Left_CommandSub '$('>
                            spids: [3854 3856]
                          )
                        }
                      spids: [3853]
                    )
                  ]
                  spids: [3853]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:NETWORK_DETAILS_ADAPTER)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(sed)} {(-n)} {(3p)} {(/DietPi/dietpi/.network)})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [3865 3873]
                          )
                        }
                      spids: [3864]
                    )
                  ]
                  spids: [3864]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithWord
                                  w: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(cat)} {(/etc/network/interfaces)})
                                                  (C {(grep)} {(-ci)} {(-m1)} 
                                                    {
                                                      (DQ ('iface ') 
                                                        ($ VSub_Name '$NETWORK_DETAILS_ADAPTER') (' inet dhcp')
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [3885 3903]
                                      )
                                    }
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:NETWORK_DETAILS_MODE)
                              op: Equal
                              rhs: {(DQ (Dhcp))}
                              spids: [3912]
                            )
                          ]
                          spids: [3912]
                        )
                      ]
                      spids: [16777215 3909]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:NETWORK_DETAILS_MODE)
                          op: Equal
                          rhs: {(DQ (Static))}
                          spids: [3921]
                        )
                      ]
                      spids: [3921]
                    )
                  ]
                  spids: [3918 3927]
                )
                (SimpleCommand
                  words: [{(ifconfig)} {($ VSub_Name '$NETWORK_DETAILS_ADAPTER')}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {($ VSub_Name '$FP_TEMP')}
                      spids: [3939]
                    )
                  ]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:NETWORK_DETAILS_IP_INT)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(cat)} {(DQ ($ VSub_Name '$FP_TEMP'))})
                                      (C {(grep)} {(-m1)} {(SQ <'inet '>)})
                                      (C {(cut)} {(-d) (Lit_Other ':')} {(-f2)})
                                      (C {(awk)} {(SQ <'{ print $1}'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [3950 3982]
                          )
                        }
                      spids: [3949]
                    )
                  ]
                  spids: [3949]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:NETWORK_DETAILS_MAC_ADDRESS)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(cat)} 
                                    {(/sys/class/net/) ($ VSub_Name '$NETWORK_DETAILS_ADAPTER') 
                                      (/address)
                                    }
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [3986 3992]
                          )
                        }
                      spids: [3985]
                    )
                  ]
                  spids: [3985]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: 
                                    (ArithWord
                                      w: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} 
                                                        {($ VSub_Name '$NETWORK_DETAILS_ADAPTER')}
                                                      )
                                                      (C {(grep)} {(-ci)} {(-m1)} {(SQ <wlan>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [4008 4024]
                                          )
                                        }
                                    )
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:NETWORK_DETAILS_SIGNAL_STRENGTH)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(iwconfig)} 
                                                  {($ VSub_Name '$NETWORK_DETAILS_ADAPTER')}
                                                )
                                                (C {(grep)} {(-m1)} {(SQ <'Signal level='>)})
                                                (C {(awk)} {(SQ <'{ print $4 }'>)})
                                                (C {(sed)} {(SQ <'s/level=//g'>)})
                                                (C {(cut)} {(-f1)} {(-d)} {(DQ (/))})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [4039 4081]
                                    ) ('%')
                                  )
                                }
                              spids: [4037]
                            )
                          ]
                          spids: [4037]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:NETWORK_DETAILS_DUPLEXSPEED)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Pipeline
                                              children: [
                                                (C {(iwconfig)} 
                                                  {($ VSub_Name '$NETWORK_DETAILS_ADAPTER')}
                                                )
                                                (C {(grep)} {(-m1)} {(SQ <'Bit Rate:'>)})
                                                (C {(awk)} {(SQ <'{ print $2 }'>)})
                                                (C {(sed)} {(SQ <'s/Rate://g'>)})
                                              ]
                                              negated: F
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [4088 4118]
                                    ) (Mbit)
                                  )
                                }
                              spids: [4086]
                            )
                          ]
                          spids: [4086]
                        )
                      ]
                      spids: [16777215 4034]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:NETWORK_DETAILS_DUPLEXSPEED)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(cat)} 
                                          {(/sys/class/net/) 
                                            ($ VSub_Name '$NETWORK_DETAILS_ADAPTER') (/speed)
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4132 4138]
                                ) (' Mbit')
                              )
                            }
                          spids: [4130]
                        )
                      ]
                      spids: [4130]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:NETWORK_DETAILS_SIGNAL_STRENGTH)
                          op: Equal
                          rhs: {(DQ (N/A))}
                          spids: [4147]
                        )
                      ]
                      spids: [4147]
                    )
                  ]
                  spids: [4127 4153]
                )
              ]
              spids: [3838]
            )
          spids: [3835 3838]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_USAGE_TOTAL_CURRENT_SENT)
              op: Equal
              rhs: {(0)}
              spids: [4165]
            )
          ]
          spids: [4165]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_USAGE_TOTAL_CURRENT_RECIEVED)
              op: Equal
              rhs: {(0)}
              spids: [4169]
            )
          ]
          spids: [4169]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_USAGE_NOW_CURRENT_SENT)
              op: Equal
              rhs: {(0)}
              spids: [4174]
            )
          ]
          spids: [4174]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_USAGE_NOW_CURRENT_RECIEVED)
              op: Equal
              rhs: {(0)}
              spids: [4178]
            )
          ]
          spids: [4178]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_USAGE_NOW_INIT)
              op: Equal
              rhs: {(0)}
              spids: [4182]
            )
          ]
          spids: [4182]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_USAGE_SECONDS_SINCE_LAST_UPDATE)
              op: Equal
              rhs: {(0)}
              spids: [4186]
            )
          ]
          spids: [4186]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_USAGE_DAY_CURRENT_SENT)
              op: Equal
              rhs: {(0)}
              spids: [4191]
            )
          ]
          spids: [4191]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_USAGE_DAY_CURRENT_RECIEVED)
              op: Equal
              rhs: {(0)}
              spids: [4195]
            )
          ]
          spids: [4195]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_USAGE_DAY_PREVIOUS_SENT)
              op: Equal
              rhs: {(0)}
              spids: [4199]
            )
          ]
          spids: [4199]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_USAGE_DAY_PREVIOUS_RECIEVED)
              op: Equal
              rhs: {(0)}
              spids: [4203]
            )
          ]
          spids: [4203]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_USAGE_DAY_OF_MONTH)
              op: Equal
              rhs: {(-1)}
              spids: [4207]
            )
          ]
          spids: [4207]
        )
        (FuncDef
          name: Obtain_NETWORK_USAGE
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:run_update) op:Equal rhs:{(1)} spids:[4225])]
                  spids: [4223]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:mtu_size)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(netstat)} {(-N)} {(-i)})
                                      (C {(grep)} {(DQ ($ VSub_Name '$NETWORK_DETAILS_ADAPTER'))})
                                      (C {(awk)} {(SQ <'{print $2}'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [4233 4255]
                          )
                        }
                      spids: [4232]
                    )
                  ]
                  spids: [4230]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (LogicalNot
                                  child: 
                                    (BoolBinary
                                      op_id: BoolBinary_EqualTilde
                                      left: {($ VSub_Name '$mtu_size')}
                                      right: 
                                        {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) 
                                          (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                        }
                                    )
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:run_update)
                              op: Equal
                              rhs: {(0)}
                              spids: [4283]
                            )
                          ]
                          spids: [4283]
                        )
                      ]
                      spids: [16777215 4280]
                    )
                  ]
                  spids: [16777215 4287]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:network_usage_current_recieved)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(netstat)} {(-N)} {(-i)})
                                      (C {(grep)} {(DQ ($ VSub_Name '$NETWORK_DETAILS_ADAPTER'))})
                                      (C {(awk)} {(SQ <'{print $4}'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [4294 4316]
                          )
                        }
                      spids: [4293]
                    )
                  ]
                  spids: [4291]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (LogicalNot
                                  child: 
                                    (BoolBinary
                                      op_id: BoolBinary_EqualTilde
                                      left: {($ VSub_Name '$network_usage_current_recieved')}
                                      right: 
                                        {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) 
                                          (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                        }
                                    )
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:run_update)
                              op: Equal
                              rhs: {(0)}
                              spids: [4344]
                            )
                          ]
                          spids: [4344]
                        )
                      ]
                      spids: [16777215 4341]
                    )
                  ]
                  spids: [16777215 4348]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:network_usage_current_sent)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(netstat)} {(-N)} {(-i)})
                                      (C {(grep)} {(DQ ($ VSub_Name '$NETWORK_DETAILS_ADAPTER'))})
                                      (C {(awk)} {(SQ <'{print $8}'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [4355 4377]
                          )
                        }
                      spids: [4354]
                    )
                  ]
                  spids: [4352]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (LogicalNot
                                  child: 
                                    (BoolBinary
                                      op_id: BoolBinary_EqualTilde
                                      left: {($ VSub_Name '$network_usage_current_sent')}
                                      right: 
                                        {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) 
                                          (Lit_Other ']') (Lit_Other '+') (Lit_Other '$')
                                        }
                                    )
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:run_update)
                              op: Equal
                              rhs: {(0)}
                              spids: [4405]
                            )
                          ]
                          spids: [4405]
                        )
                      ]
                      spids: [16777215 4402]
                    )
                  ]
                  spids: [16777215 4409]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$run_update')})
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:total_previous_sent)
                              op: Equal
                              rhs: {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_SENT')}
                              spids: [4438]
                            )
                          ]
                          spids: [4436]
                        )
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:total_previous_recieved)
                              op: Equal
                              rhs: {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_RECIEVED')}
                              spids: [4444]
                            )
                          ]
                          spids: [4442]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:NETWORK_USAGE_TOTAL_CURRENT_RECIEVED)
                              op: Equal
                              rhs: 
                                {
                                  (ArithSubPart
                                    anode: 
                                      (ArithBinary
                                        op_id: Arith_Star
                                        left: 
                                          (ArithWord
                                            w: {($ VSub_Name '$network_usage_current_recieved')}
                                          )
                                        right: (ArithWord w:{($ VSub_Name '$mtu_size')})
                                      )
                                    spids: [4454 4463]
                                  )
                                }
                              spids: [4453]
                            )
                          ]
                          spids: [4453]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:NETWORK_USAGE_TOTAL_CURRENT_SENT)
                              op: Equal
                              rhs: 
                                {
                                  (ArithSubPart
                                    anode: 
                                      (ArithBinary
                                        op_id: Arith_Star
                                        left: 
                                          (ArithWord
                                            w: {($ VSub_Name '$network_usage_current_sent')}
                                          )
                                        right: (ArithWord w:{($ VSub_Name '$mtu_size')})
                                      )
                                    spids: [4467 4476]
                                  )
                                }
                              spids: [4466]
                            )
                          ]
                          spids: [4466]
                        )
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:seconds_since_last_update)
                              op: Equal
                              rhs: 
                                {
                                  (ArithSubPart
                                    anode: 
                                      (ArithBinary
                                        op_id: Arith_Minus
                                        left: 
                                          (ArithWord
                                            w: 
                                              {
                                                (CommandSubPart
                                                  command_list: 
                                                    (CommandList
                                                      children: [
                                                        (C {(date)} 
                                                          {(Lit_Other '+') (Lit_Other '%') (s)}
                                                        )
                                                      ]
                                                    )
                                                  left_token: <Left_CommandSub '$('>
                                                  spids: [4493 4499]
                                                )
                                              }
                                          )
                                        right: 
                                          (ArithWord
                                            w: 
                                              {
                                                ($ VSub_Name 
'$NETWORK_USAGE_SECONDS_SINCE_LAST_UPDATE'
                                                )
                                              }
                                          )
                                      )
                                    spids: [4491 4506]
                                  )
                                }
                              spids: [4490]
                            )
                          ]
                          spids: [4488]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$NETWORK_USAGE_NOW_INIT')})
                                          right: (ArithWord w:{(Lit_Digits 0)})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:NETWORK_USAGE_NOW_CURRENT_SENT)
                                      op: Equal
                                      rhs: {(0)}
                                      spids: [4531]
                                    )
                                  ]
                                  spids: [4531]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:NETWORK_USAGE_NOW_CURRENT_RECIEVED)
                                      op: Equal
                                      rhs: {(0)}
                                      spids: [4535]
                                    )
                                  ]
                                  spids: [4535]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:NETWORK_USAGE_NOW_INIT)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [4540]
                                    )
                                  ]
                                  spids: [4540]
                                )
                              ]
                              spids: [16777215 4528]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:NETWORK_USAGE_NOW_CURRENT_SENT)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Slash
                                            left: 
                                              (ArithBinary
                                                op_id: Arith_Minus
                                                left: 
                                                  (ArithWord
                                                    w: 
                                                      {
                                                        ($ VSub_Name 
'$NETWORK_USAGE_TOTAL_CURRENT_SENT'
                                                        )
                                                      }
                                                  )
                                                right: 
                                                  (ArithWord
                                                    w: {($ VSub_Name '$total_previous_sent')}
                                                  )
                                              )
                                            right: 
                                              (ArithWord
                                                w: {($ VSub_Name '$seconds_since_last_update')}
                                              )
                                          )
                                        spids: [4553 4570]
                                      )
                                    }
                                  spids: [4552]
                                )
                              ]
                              spids: [4552]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:NETWORK_USAGE_NOW_CURRENT_RECIEVED)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Slash
                                            left: 
                                              (ArithBinary
                                                op_id: Arith_Minus
                                                left: 
                                                  (ArithWord
                                                    w: 
                                                      {
                                                        ($ VSub_Name 
'$NETWORK_USAGE_TOTAL_CURRENT_RECIEVED'
                                                        )
                                                      }
                                                  )
                                                right: 
                                                  (ArithWord
                                                    w: {($ VSub_Name '$total_previous_recieved')}
                                                  )
                                              )
                                            right: 
                                              (ArithWord
                                                w: {($ VSub_Name '$seconds_since_last_update')}
                                              )
                                          )
                                        spids: [4574 4591]
                                      )
                                    }
                                  spids: [4573]
                                )
                              ]
                              spids: [4573]
                            )
                          ]
                          spids: [4549 4594]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:NETWORK_USAGE_SECONDS_SINCE_LAST_UPDATE)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [(C {(date)} {(Lit_Other '+') (Lit_Other '%') (s)})]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [4603 4609]
                                  )
                                }
                              spids: [4602]
                            )
                          ]
                          spids: [4602]
                        )
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:dayofmonth)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [(C {(date)} {(Lit_Other '+') (DQ ('%d'))})]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [4649 4656]
                                  )
                                }
                              spids: [4648]
                            )
                          ]
                          spids: [4646]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} 
                                      {(DQ ($ VSub_Name '$NETWORK_USAGE_DAY_OF_MONTH'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$dayofmonth'))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:NETWORK_USAGE_DAY_PREVIOUS_SENT)
                                      op: Equal
                                      rhs: {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_SENT')}
                                      spids: [4684]
                                    )
                                  ]
                                  spids: [4684]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:NETWORK_USAGE_DAY_PREVIOUS_RECIEVED)
                                      op: Equal
                                      rhs: {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_RECIEVED')}
                                      spids: [4688]
                                    )
                                  ]
                                  spids: [4688]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:NETWORK_USAGE_DAY_OF_MONTH)
                                      op: Equal
                                      rhs: {($ VSub_Name '$dayofmonth')}
                                      spids: [4692]
                                    )
                                  ]
                                  spids: [4692]
                                )
                              ]
                              spids: [16777215 4677]
                            )
                          ]
                          spids: [16777215 4697]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:NETWORK_USAGE_DAY_CURRENT_SENT)
                              op: Equal
                              rhs: 
                                {
                                  (ArithSubPart
                                    anode: 
                                      (ArithBinary
                                        op_id: Arith_Minus
                                        left: 
                                          (ArithWord
                                            w: {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_SENT')}
                                          )
                                        right: 
                                          (ArithWord
                                            w: {($ VSub_Name '$NETWORK_USAGE_DAY_PREVIOUS_SENT')}
                                          )
                                      )
                                    spids: [4706 4715]
                                  )
                                }
                              spids: [4705]
                            )
                          ]
                          spids: [4705]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:NETWORK_USAGE_DAY_CURRENT_RECIEVED)
                              op: Equal
                              rhs: 
                                {
                                  (ArithSubPart
                                    anode: 
                                      (ArithBinary
                                        op_id: Arith_Minus
                                        left: 
                                          (ArithWord
                                            w: {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_RECIEVED')}
                                          )
                                        right: 
                                          (ArithWord
                                            w: {($ VSub_Name '$NETWORK_USAGE_DAY_PREVIOUS_RECIEVED')}
                                          )
                                      )
                                    spids: [4719 4728]
                                  )
                                }
                              spids: [4718]
                            )
                          ]
                          spids: [4718]
                        )
                      ]
                      spids: [16777215 4428]
                    )
                  ]
                  spids: [16777215 4732]
                )
              ]
              spids: [4215]
            )
          spids: [4212 4215]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:MEMORY_TOTAL) op:Equal rhs:{(0)} spids:[4744])]
          spids: [4744]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:MEMORY_FREE) op:Equal rhs:{(0)} spids:[4748])]
          spids: [4748]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:MEMORY_USED) op:Equal rhs:{(0)} spids:[4752])]
          spids: [4752]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:MEMORY_CACHED) op:Equal rhs:{(0)} spids:[4756])]
          spids: [4756]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:MEMORY_PERCENT) op:Equal rhs:{(0)} spids:[4760])]
          spids: [4760]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:MEMORY_SWAPTOTAL) op:Equal rhs:{(0)} spids:[4764])]
          spids: [4764]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:MEMORY_SWAPUSED) op:Equal rhs:{(0)} spids:[4768])]
          spids: [4768]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:MEMORY_SWAPFREE) op:Equal rhs:{(0)} spids:[4772])]
          spids: [4772]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:MEMORY_SWAPERCENT) op:Equal rhs:{(0)} spids:[4776])]
          spids: [4776]
        )
        (FuncDef
          name: Obtain_MEMORY
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:FP_TEMP)
                      op: Equal
                      rhs: {(DQ (/tmp/.mem))}
                      spids: [4791]
                    )
                  ]
                  spids: [4791]
                )
                (SimpleCommand
                  words: [{(free)} {(-m)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {($ VSub_Name '$FP_TEMP')}
                      spids: [4801]
                    )
                  ]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:MEMORY_TOTAL)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                      (C {(grep)} {(-m1)} {(SQ <'Mem: '>)})
                                      (C {(awk)} {(SQ <'{print $2}'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [4812 4834]
                          )
                        }
                      spids: [4811]
                    )
                  ]
                  spids: [4811]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:MEMORY_CACHED)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                      (C {(grep)} {(-m1)} {(SQ <'Mem: '>)})
                                      (C {(awk)} {(SQ <'{print $7}'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [4842 4864]
                          )
                        }
                      spids: [4841]
                    )
                  ]
                  spids: [4841]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:MEMORY_USED)
                      op: Equal
                      rhs: 
                        {
                          (ArithSubPart
                            anode: 
                              (ArithBinary
                                op_id: Arith_Minus
                                left: 
                                  (ArithWord
                                    w: 
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                                    (C {(grep)} {(-m1)} {(SQ <'Mem: '>)})
                                                    (C {(awk)} {(SQ <'{print $3}'>)})
                                                  ]
                                                  negated: F
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [4870 4892]
                                        )
                                      }
                                  )
                                right: (ArithWord w:{($ VSub_Name '$MEMORY_CACHED')})
                              )
                            spids: [4868 4899]
                          )
                        }
                      spids: [4867]
                    )
                  ]
                  spids: [4867]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:MEMORY_FREE)
                      op: Equal
                      rhs: 
                        {
                          (ArithSubPart
                            anode: 
                              (ArithBinary
                                op_id: Arith_Plus
                                left: 
                                  (ArithWord
                                    w: 
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                                    (C {(grep)} {(-m1)} {(SQ <'Mem: '>)})
                                                    (C {(awk)} {(SQ <'{print $4}'>)})
                                                  ]
                                                  negated: F
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [4905 4927]
                                        )
                                      }
                                  )
                                right: (ArithWord w:{($ VSub_Name '$MEMORY_CACHED')})
                              )
                            spids: [4903 4934]
                          )
                        }
                      spids: [4902]
                    )
                  ]
                  spids: [4902]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:MEMORY_PERCENT)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(echo)})
                                      (C {(awk)} 
                                        {
                                          (DQ ('{print ') ($ VSub_Name '$MEMORY_USED') (' / ') 
                                            ($ VSub_Name '$MEMORY_TOTAL') (' * 100}')
                                          )
                                        }
                                      )
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [4938 4952]
                          )
                        }
                      spids: [4937]
                    )
                  ]
                  spids: [4937]
                )
                (C {(Percent_To_Graph)} {($ VSub_Name '$MEMORY_PERCENT')})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:MEMORY_PERCENT)
                      op: Equal
                      rhs: {($ VSub_Name '$C_PERCENT_GRAPH')}
                      spids: [4965]
                    )
                  ]
                  spids: [4965]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:MEMORY_SWAPTOTAL)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                      (C {(grep)} {(-m1)} {(SQ <'Swap: '>)})
                                      (C {(awk)} {(SQ <'{print $2}'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [4975 4997]
                          )
                        }
                      spids: [4974]
                    )
                  ]
                  spids: [4974]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_Great
                                  left: (ArithWord w:{($ VSub_Name '$MEMORY_SWAPTOTAL')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:MEMORY_SWAPUSED)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                              (C {(grep)} {(-m1)} {(SQ <'Swap: '>)})
                                              (C {(awk)} {(SQ <'{print $3}'>)})
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [5022 5044]
                                  )
                                }
                              spids: [5021]
                            )
                          ]
                          spids: [5021]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:MEMORY_SWAPFREE)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(cat)} {($ VSub_Name '$FP_TEMP')})
                                              (C {(grep)} {(-m1)} {(SQ <'Swap: '>)})
                                              (C {(awk)} {(SQ <'{print $4}'>)})
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [5048 5070]
                                  )
                                }
                              spids: [5047]
                            )
                          ]
                          spids: [5047]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:MEMORY_SWAPERCENT)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(echo)})
                                              (C {(awk)} 
                                                {
                                                  (DQ ('{print ') ($ VSub_Name '$MEMORY_SWAPUSED') 
                                                    (' / ') ($ VSub_Name '$MEMORY_SWAPTOTAL') (' * 100}')
                                                  )
                                                }
                                              )
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [5074 5089]
                                  )
                                }
                              spids: [5073]
                            )
                          ]
                          spids: [5073]
                        )
                        (C {(Percent_To_Graph)} {($ VSub_Name '$MEMORY_SWAPERCENT')})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:MEMORY_SWAPERCENT)
                              op: Equal
                              rhs: {($ VSub_Name '$C_PERCENT_GRAPH')}
                              spids: [5102]
                            )
                          ]
                          spids: [5102]
                        )
                      ]
                      spids: [16777215 5018]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:MEMORY_SWAPERCENT)
                          op: Equal
                          rhs: {(DQ (' Disabled'))}
                          spids: [5109]
                        )
                      ]
                      spids: [5109]
                    )
                  ]
                  spids: [5106 5116]
                )
              ]
              spids: [4783]
            )
          spids: [4780 4783]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:PIHOLE_QUERY_COUNT) op:Equal rhs:{(0)} spids:[5129])]
          spids: [5129]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:PIHOLE_TOTAL_ADS) op:Equal rhs:{(0)} spids:[5133])]
          spids: [5133]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:PIHOLE_PERCENT_ADS) op:Equal rhs:{(0)} spids:[5137])]
          spids: [5137]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:PIHOLE_TOTAL_DOMAINS)
              op: Equal
              rhs: {(0)}
              spids: [5141]
            )
          ]
          spids: [5141]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:PIHOLE_LAST_DOMAIN_BLOCKED)
              op: Equal
              rhs: {(0)}
              spids: [5145]
            )
          ]
          spids: [5145]
        )
        (FuncDef
          name: Obtain_PIHOLE
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:pihole_log_file)
                      op: Equal
                      rhs: {(DQ (/var/log/pihole.log))}
                      spids: [5158]
                    )
                  ]
                  spids: [5156]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$PIHOLE_TOTAL_DOMAINS')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(-f)} {(/etc/pihole/gravity.list)} 
                                      {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:PIHOLE_TOTAL_DOMAINS)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(wc)} {(-l)} {(/etc/pihole/gravity.list)})
                                                      (C {(awk)} {(SQ <'{print $1}'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [5201 5215]
                                          )
                                        }
                                      spids: [5200]
                                    )
                                  ]
                                  spids: [5200]
                                )
                              ]
                              spids: [16777215 5197]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:PIHOLE_TOTAL_DOMAINS)
                                  op: Equal
                                  rhs: {(DQ ('Not Installed'))}
                                  spids: [5221]
                                )
                              ]
                              spids: [5221]
                            )
                          ]
                          spids: [5218 5227]
                        )
                      ]
                      spids: [16777215 5183]
                    )
                  ]
                  spids: [16777215 5231]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:today)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(date)} {(Lit_Other '+') (SQ <'%b %e'>)})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [5238 5245]
                          )
                        }
                      spids: [5237]
                    )
                  ]
                  spids: [5235]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:PIHOLE_QUERY_COUNT)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(cat)} {(DQ ($ VSub_Name '$pihole_log_file'))})
                                      (C {(grep)} {(DQ ($ VSub_Name '$today'))})
                                      (C {(awk)} {(SQ <'/query/ {print $7}'>)})
                                      (C {(wc)} {(-l)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [5250 5278]
                          )
                        }
                      spids: [5249]
                    )
                  ]
                  spids: [5249]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_LessEqual
                                  left: (ArithWord w:{($ VSub_Name '$PIHOLE_QUERY_COUNT')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:PIHOLE_QUERY_COUNT)
                              op: Equal
                              rhs: {(1)}
                              spids: [5302]
                            )
                          ]
                          spids: [5302]
                        )
                      ]
                      spids: [16777215 5299]
                    )
                  ]
                  spids: [16777215 5306]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:PIHOLE_TOTAL_ADS)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(cat)} {(DQ ($ VSub_Name '$pihole_log_file'))})
                                      (C {(grep)} {(DQ ($ VSub_Name '$today'))})
                                      (C {(awk)} {(SQ <'/\\/etc\\/pihole\\/gravity.list/ {print $7}'>)})
                                      (C {(wc)} {(-l)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [5311 5339]
                          )
                        }
                      spids: [5310]
                    )
                  ]
                  spids: [5310]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:PIHOLE_PERCENT_ADS)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(echo)})
                                      (C {(awk)} 
                                        {
                                          (DQ ('{print ') ($ VSub_Name '$PIHOLE_TOTAL_ADS') (' / ') 
                                            ($ VSub_Name '$PIHOLE_QUERY_COUNT') (' * 100}')
                                          )
                                        }
                                      )
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [5343 5357]
                          )
                        }
                      spids: [5342]
                    )
                  ]
                  spids: [5342]
                )
                (C {(Percent_To_Graph)} {($ VSub_Name '$PIHOLE_PERCENT_ADS')})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:PIHOLE_PERCENT_ADS)
                      op: Equal
                      rhs: {($ VSub_Name '$C_PERCENT_GRAPH')}
                      spids: [5370]
                    )
                  ]
                  spids: [5370]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$PIHOLE_TOTAL_ADS')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:PIHOLE_LAST_DOMAIN_BLOCKED)
                              op: Equal
                              rhs: {(DQ (None))}
                              spids: [5396]
                            )
                          ]
                          spids: [5396]
                        )
                      ]
                      spids: [16777215 5393]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:PIHOLE_LAST_DOMAIN_BLOCKED)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(tac)} {(/var/log/pihole.log)})
                                          (C {(grep)} {(-m1)} {(SQ <gravity.list>)})
                                          (C {(awk)} {(SQ <'{print $6}'>)})
                                          (C {(cut)} {(-c)} {(1-24)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [5406 5437]
                              )
                            }
                          spids: [5405]
                        )
                      ]
                      spids: [5405]
                    )
                  ]
                  spids: [5402 5440]
                )
              ]
              spids: [5152]
            )
          spids: [5149 5152]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:RUN_INTRO) op:Equal rhs:{(0)} spids:[5460])]
          spids: [5460]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$INPUT')})
                          right: (ArithWord w:{(Lit_Digits 1)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:RUN_INTRO) op:Equal rhs:{(1)} spids:[5481])]
                  spids: [5481]
                )
              ]
              spids: [16777215 5478]
            )
          ]
          spids: [16777215 5485]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:SCENE_CURRENT) op:Equal rhs:{(2)} spids:[5493])]
          spids: [5493]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:MAX_SCENES) op:Equal rhs:{(9)} spids:[5497])]
          spids: [5497]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:REFRESH_RATE) op:Equal rhs:{(5)} spids:[5506])]
          spids: [5506]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:TEMPERATURE_OUTPUT_TYPE)
              op: Equal
              rhs: {(1)}
              spids: [5515]
            )
          ]
          spids: [5515]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NETWORK_USAGE_CURRENT_OUTPUT_TYPE)
              op: Equal
              rhs: {(0)}
              spids: [5524]
            )
          ]
          spids: [5524]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aEnabledScenes)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [5533]
            )
          ]
          spids: [5533]
        )
        (ForExpr
          init: 
            (BinaryAssign
              op_id: Arith_Equal
              left: (LhsName name:i)
              right: (ArithWord w:{(Lit_Digits 0)})
            )
          cond: 
            (ArithBinary
              op_id: Arith_Less
              left: (ArithVarRef name:i)
              right: (ArithWord w:{($ VSub_Name '$MAX_SCENES')})
            )
          update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
          body: 
            (DoGroup
              children: [
                (C 
                  {(aEnabledScenes) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') 
                    (1)
                  }
                )
              ]
              spids: [5557 5568]
            )
        )
        (FuncDef
          name: Run_Intro
          body: 
            (BraceGroup
              children: [
                (C {(clear)})
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aAnimation)
                      op: Equal
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(SQ <'                          '>)}
                              {(SQ <'i         -              c'>)}
                              {(SQ <'P  i      -            c l'>)}
                              {(SQ <'t  P  i   -          c l o'>)}
                              {(SQ <'e  t  P  i-        c l o u'>)}
                              {(SQ <'i  e  t Pi-    c l o u d s'>)}
                              {(SQ <'D  i  etPi-  c l o u d s h'>)}
                              {(SQ <'  D  ietPi-c l o u d s h e'>)}
                              {(SQ <'    DietPi-cl o u d s h e '>)}
                              {(SQ <'    DietPi-clou d s h e l '>)}
                              {(SQ <'    DietPi-clouds h e l l '>)}
                              {(SQ <'    DietPi-cloudshe l l   '>)}
                              {(SQ <'    DietPi-cloudshell     '>)}
                            ]
                          )
                        }
                      spids: [5602]
                    )
                  ]
                  spids: [5600]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aBar)
                      op: Equal
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(SQ <' '>)}
                              {(SQ <'  '>)}
                              {(SQ <'    '>)}
                              {(SQ <'       '>)}
                              {(SQ <'         '>)}
                              {(SQ <'            '>)}
                              {(SQ <'               '>)}
                              {(SQ <'                 '>)}
                              {(SQ <'                    '>)}
                              {(SQ <'                      '>)}
                              {(SQ <'                        '>)}
                              {(SQ <'                         '>)}
                              {(SQ <'                          '>)}
                            ]
                          )
                        }
                      spids: [5677]
                    )
                  ]
                  spids: [5675]
                )
                (ForExpr
                  init: 
                    (BinaryAssign
                      op_id: Arith_Equal
                      left: (LhsName name:i)
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                  cond: 
                    (ArithBinary
                      op_id: Arith_Less
                      left: (ArithVarRef name:i)
                      right: 
                        (ArithWord
                          w: 
                            {
                              (BracedVarSub
                                token: <VSub_Name aAnimation>
                                prefix_op: VSub_Pound
                                bracket_op: (WholeArray op_id:Lit_At)
                                spids: [5761 5767]
                              )
                            }
                        )
                    )
                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                  body: 
                    (DoGroup
                      children: [
                        (C {(clear)})
                        (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET'))})
                        (C {(echo)} {(-e)} {(DQ )})
                        (C {(echo)} {(-e)} {(DQ )})
                        (C {(echo)} {(-e)} {(DQ )})
                        (C {(echo)} {(-e)} 
                          {
                            (DQ ($ VSub_Name '$C_RESET') 
                              (BracedVarSub
                                token: <VSub_Name aCOLOUR>
                                bracket_op: 
                                  (ArrayIndex
                                    expr: (ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')})
                                  )
                                spids: [5822 5827]
                              ) 
                              (BracedVarSub
                                token: <VSub_Name aAnimation>
                                bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                spids: [5828 5833]
                              )
                            )
                          }
                        )
                        (C {(echo)} {(-e)} 
                          {
                            (DQ ($ VSub_Name '$C_RESET') ('          v') 
                              ($ VSub_Name '$DIETPI_CLOUDSHELL_VERSION')
                            )
                          }
                        )
                        (C {(echo)} {(-e)} {(DQ )})
                        (C {(echo)} {(-e)} {(DQ ('       Loading...'))})
                        (C {(echo)} {(-e)} 
                          {
                            (DQ ($ VSub_Name '$C_RESET') 
                              (BracedVarSub
                                token: <VSub_Name aCOLOUR>
                                bracket_op: 
                                  (ArrayIndex
                                    expr: (ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')})
                                  )
                                spids: [5871 5876]
                              ) ($ VSub_Name '$C_REVERSE') 
                              (BracedVarSub
                                token: <VSub_Name aBar>
                                bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                spids: [5878 5883]
                              )
                            )
                          }
                        )
                        (C {(sleep)} {(0.2)})
                      ]
                      spids: [5776 5893]
                    )
                )
                (C {(unset)} {(aAnimation)})
                (C {(unset)} {(aBar)})
                (C {(sleep)} {(0.1)})
              ]
              spids: [5588]
            )
          spids: [5585 5588]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:BANNER_PRINT) op:Equal rhs:{(0)} spids:[5926])]
          spids: [5926]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:BANNER_MODE) op:Equal rhs:{(0)} spids:[5930])]
          spids: [5930]
        )
        (FuncDef
          name: Update_Banner
          body: 
            (BraceGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$BANNER_MODE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:BANNER_PRINT)
                              op: Equal
                              rhs: 
                                {
                                  (DQ ('DietPi - Cloudshell v') 
                                    ($ VSub_Name '$DIETPI_CLOUDSHELL_VERSION')
                                  )
                                }
                              spids: [5962]
                            )
                          ]
                          spids: [5962]
                        )
                      ]
                      spids: [16777215 5959]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$BANNER_MODE')})
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(Obtain_DATE_TIME)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:BANNER_PRINT)
                              op: Equal
                              rhs: {($ VSub_Name '$DATE_TIME')}
                              spids: [5989]
                            )
                          ]
                          spids: [5989]
                        )
                      ]
                      spids: [5969 5983]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$BANNER_MODE')})
                                  right: (ArithWord w:{(Lit_Digits 2)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(Obtain_UPTIME)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:BANNER_PRINT)
                              op: Equal
                              rhs: {($ VSub_Name '$UPTIME')}
                              spids: [6013]
                            )
                          ]
                          spids: [6013]
                        )
                      ]
                      spids: [5993 6007]
                    )
                  ]
                  spids: [16777215 6017]
                )
                (DParen
                  child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:BANNER_MODE))
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_GreatEqual
                                  left: (ArithWord w:{($ VSub_Name '$BANNER_MODE')})
                                  right: (ArithWord w:{(Lit_Digits 3)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:BANNER_MODE)
                              op: Equal
                              rhs: {(0)}
                              spids: [6054]
                            )
                          ]
                          spids: [6054]
                        )
                      ]
                      spids: [16777215 6051]
                    )
                  ]
                  spids: [16777215 6058]
                )
              ]
              spids: [5937]
            )
          spids: [5934 5937]
        )
        (FuncDef
          name: Update_Scene_0
          body: 
            (BraceGroup
              children: [
                (C {(Obtain_CPU)})
                (C {(clear)})
                (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$BANNER_PRINT'))})
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6118 6123]
                      ) ($ VSub_Name '$C_REVERSE') (' CPU Usage:               ')
                    )
                  }
                )
                (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') ($ VSub_Name '$CPU_USAGE'))})
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6145 6150]
                      ) ($ VSub_Name '$C_REVERSE') (' CPU Stats:               ')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6162 6167]
                      ) (' Temp      ') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6169 6174]
                      ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$C_CPUTEMP') ($ VSub_Name '$CPU_TEMP')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6189 6194]
                      ) (' Processes ') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6196 6201]
                      ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$CPU_TOTALPROCESSES')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6215 6220]
                      ) (' Governor  ') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6222 6227]
                      ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$CPU_GOV')
                    )
                  }
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                  right: (ArithWord w:{(Lit_Digits 11)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(echo)} {(-e)} 
                          {
                            (DQ ($ VSub_Name '$C_RESET') 
                              (BracedVarSub
                                token: <VSub_Name aCOLOUR>
                                bracket_op: 
                                  (ArrayIndex
                                    expr: (ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')})
                                  )
                                spids: [6263 6268]
                              ) (' Freq 0-3  ') 
                              (BracedVarSub
                                token: <VSub_Name aCOLOUR>
                                bracket_op: 
                                  (ArrayIndex
                                    expr: (ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')})
                                  )
                                spids: [6270 6275]
                              ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$CPU_FREQ_1') (' mhz')
                            )
                          }
                        )
                        (C {(echo)} {(-e)} 
                          {
                            (DQ ($ VSub_Name '$C_RESET') 
                              (BracedVarSub
                                token: <VSub_Name aCOLOUR>
                                bracket_op: 
                                  (ArrayIndex
                                    expr: (ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')})
                                  )
                                spids: [6290 6295]
                              ) (' Freq 4-7  ') 
                              (BracedVarSub
                                token: <VSub_Name aCOLOUR>
                                bracket_op: 
                                  (ArrayIndex
                                    expr: (ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')})
                                  )
                                spids: [6297 6302]
                              ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$CPU_FREQ_2') (' mhz')
                            )
                          }
                        )
                      ]
                      spids: [16777215 6254]
                    )
                  ]
                  else_action: [
                    (C {(echo)} {(-e)} 
                      {
                        (DQ ($ VSub_Name '$C_RESET') 
                          (BracedVarSub
                            token: <VSub_Name aCOLOUR>
                            bracket_op: 
                              (ArrayIndex
                                expr: (ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')})
                              )
                            spids: [6325 6330]
                          ) (' Freq      ') 
                          (BracedVarSub
                            token: <VSub_Name aCOLOUR>
                            bracket_op: 
                              (ArrayIndex
                                expr: (ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')})
                              )
                            spids: [6332 6337]
                          ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$CPU_FREQ_1') (' mhz')
                        )
                      }
                    )
                  ]
                  spids: [6316 6346]
                )
              ]
              spids: [6073]
            )
          spids: [6070 6073]
        )
        (FuncDef
          name: Update_Scene_1
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:index_1)
                      op: Equal
                      rhs: {($ VSub_Number '$1')}
                      spids: [6367]
                    )
                  ]
                  spids: [6365]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:index_2)
                      op: Equal
                      rhs: {($ VSub_Number '$2')}
                      spids: [6373]
                    )
                  ]
                  spids: [6371]
                )
                (C {(Obtain_STORAGE)} {($ VSub_Name '$index_1')} {($ VSub_Name '$index_2')})
                (C {(clear)})
                (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$BANNER_PRINT'))})
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6423 6428]
                      ) ($ VSub_Name '$C_REVERSE') (' ') 
                      (BracedVarSub
                        token: <VSub_Name STORAGE_NAME>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_1')}))
                        spids: [6431 6436]
                      )
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name STORAGE_PERCENT>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_1')}))
                        spids: [6446 6451]
                      )
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6461 6466]
                      ) (' Used: ') ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name STORAGE_USED>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_1')}))
                        spids: [6469 6474]
                      ) (' / ') 
                      (BracedVarSub
                        token: <VSub_Name STORAGE_TOTAL>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_1')}))
                        spids: [6476 6481]
                      )
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6491 6496]
                      ) (' Free: ') ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name STORAGE_FREE>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_1')}))
                        spids: [6499 6504]
                      )
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6514 6519]
                      ) ($ VSub_Name '$C_REVERSE') (' ') 
                      (BracedVarSub
                        token: <VSub_Name STORAGE_NAME>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_2')}))
                        spids: [6522 6527]
                      )
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name STORAGE_PERCENT>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_2')}))
                        spids: [6537 6542]
                      )
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6552 6557]
                      ) (' Used: ') ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name STORAGE_USED>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_2')}))
                        spids: [6560 6565]
                      ) (' / ') 
                      (BracedVarSub
                        token: <VSub_Name STORAGE_TOTAL>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_2')}))
                        spids: [6567 6572]
                      )
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6582 6587]
                      ) (' Free: ') ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name STORAGE_FREE>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index_2')}))
                        spids: [6590 6595]
                      )
                    )
                  }
                )
              ]
              spids: [6361]
            )
          spids: [6358 6361]
        )
        (FuncDef
          name: Update_Scene_4
          body: 
            (BraceGroup
              children: [
                (C {(Obtain_DIETPIINFO)})
                (C {(clear)})
                (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$BANNER_PRINT'))})
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6656 6661]
                      ) ($ VSub_Name '$C_REVERSE') (' DietPi:                  ')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6673 6678]
                      ) (' Version   ') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6680 6685]
                      ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$DIETPI_VERSION_CURRENT')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6699 6704]
                      ) (' Updates   ') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6706 6711]
                      ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$DIETPI_UPDATE_AVAILABLE')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6725 6730]
                      ) (' Web       ') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6732 6737]
                      ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$DIETPI_WEBSITE')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6751 6756]
                      ) (' Twitter   ') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6758 6763]
                      ) (':') ($ VSub_Name '$C_RESET') ('  ') ($ VSub_Name '$DIETPI_TWITTER')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6777 6782]
                      ) ($ VSub_Name '$C_REVERSE') (' Device:                  ')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$DIETPI_HW_DESCRIPTION'))}
                )
              ]
              spids: [6611]
            )
          spids: [6608 6611]
        )
        (FuncDef
          name: Update_Scene_5
          body: 
            (BraceGroup
              children: [
                (C {(Obtain_NETWORK_DETAILS)})
                (C {(clear)})
                (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$BANNER_PRINT'))})
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6856 6861]
                      ) ($ VSub_Name '$C_REVERSE') (' Network Details:         ')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6873 6878]
                      ) (' IP      : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$NETWORK_DETAILS_IP_INT')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6891 6896]
                      ) (' Mode    : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$NETWORK_DETAILS_MODE')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6909 6914]
                      ) (' Adapter : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$NETWORK_DETAILS_ADAPTER')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6927 6932]
                      ) (' Duplex  : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$NETWORK_DETAILS_DUPLEXSPEED')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6945 6950]
                      ) (' Signal  : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$NETWORK_DETAILS_SIGNAL_STRENGTH')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6963 6968]
                      ) (' Hostname: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$NETWORK_DETAILS_HOSTNAME')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [6981 6986]
                      ) (' MAC: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$NETWORK_DETAILS_MAC_ADDRESS')
                    )
                  }
                )
              ]
              spids: [6811]
            )
          spids: [6808 6811]
        )
        (FuncDef
          name: Update_Scene_6
          body: 
            (BraceGroup
              children: [
                (C {(Obtain_NETWORK_USAGE)})
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:total_sent_output)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(BYTE_PRINT_CONVERSION)} 
                                    {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_SENT')}
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [7024 7030]
                          )
                        }
                      spids: [7023]
                    )
                  ]
                  spids: [7021]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:total_recieved_output)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(BYTE_PRINT_CONVERSION)} 
                                    {($ VSub_Name '$NETWORK_USAGE_TOTAL_CURRENT_RECIEVED')}
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [7036 7042]
                          )
                        }
                      spids: [7035]
                    )
                  ]
                  spids: [7033]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:today_sent_output)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(BYTE_PRINT_CONVERSION)} 
                                    {($ VSub_Name '$NETWORK_USAGE_DAY_CURRENT_SENT')}
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [7049 7055]
                          )
                        }
                      spids: [7048]
                    )
                  ]
                  spids: [7046]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:today_recieved_output)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(BYTE_PRINT_CONVERSION)} 
                                    {($ VSub_Name '$NETWORK_USAGE_DAY_CURRENT_RECIEVED')}
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [7061 7067]
                          )
                        }
                      spids: [7060]
                    )
                  ]
                  spids: [7058]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:now_sent_output)
                      op: Equal
                      rhs: {(0)}
                      spids: [7073]
                    )
                  ]
                  spids: [7071]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:now_recieved_output0) op:Equal spids:[7079])]
                  spids: [7077]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: 
                                    (ArithWord
                                      w: {($ VSub_Name '$NETWORK_USAGE_CURRENT_OUTPUT_TYPE')}
                                    )
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:now_sent_output)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(BIT_PRINT_CONVERSION)} 
                                            {($ VSub_Name '$NETWORK_USAGE_NOW_CURRENT_SENT')}
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [7100 7106]
                                  )
                                }
                              spids: [7099]
                            )
                          ]
                          spids: [7099]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:now_recieved_output)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(BIT_PRINT_CONVERSION)} 
                                            {($ VSub_Name '$NETWORK_USAGE_NOW_CURRENT_RECIEVED')}
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [7110 7116]
                                  )
                                }
                              spids: [7109]
                            )
                          ]
                          spids: [7109]
                        )
                      ]
                      spids: [16777215 7096]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:now_sent_output)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(BYTE_PRINT_CONVERSION)} 
                                        {($ VSub_Name '$NETWORK_USAGE_NOW_CURRENT_SENT')}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [7123 7129]
                              )
                            }
                          spids: [7122]
                        )
                      ]
                      spids: [7122]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:now_recieved_output)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(BYTE_PRINT_CONVERSION)} 
                                        {($ VSub_Name '$NETWORK_USAGE_NOW_CURRENT_RECIEVED')}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [7133 7139]
                              )
                            }
                          spids: [7132]
                        )
                      ]
                      spids: [7132]
                    )
                  ]
                  spids: [7119 7142]
                )
                (C {(clear)})
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7179 7184]
                      ) ($ VSub_Name '$C_REVERSE') (' Network Usage (TOTAL):   ')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7196 7201]
                      ) (' Sent     : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$total_sent_output')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7214 7219]
                      ) (' Recieved : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$total_recieved_output')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7233 7238]
                      ) ($ VSub_Name '$C_REVERSE') (' Network Usage (TODAY):   ')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7250 7255]
                      ) (' Sent     : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$today_sent_output')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7268 7273]
                      ) (' Recieved : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$today_recieved_output')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7287 7292]
                      ) ($ VSub_Name '$C_REVERSE') (' Network Usage (CURRENT): ')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7304 7309]
                      ) (' Sent     : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$now_sent_output') (/s)
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7323 7328]
                      ) (' Recieved : ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$now_recieved_output') (/s)
                    )
                  }
                )
              ]
              spids: [7005]
            )
          spids: [7002 7005]
        )
        (FuncDef
          name: Update_Scene_7
          body: 
            (BraceGroup
              children: [
                (C {(Obtain_MEMORY)})
                (C {(clear)})
                (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$BANNER_PRINT'))})
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7393 7398]
                      ) ($ VSub_Name '$C_REVERSE') (' Memory Usage (RAM):      ')
                    )
                  }
                )
                (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') ($ VSub_Name '$MEMORY_PERCENT'))})
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7420 7425]
                      ) (' Used: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$MEMORY_USED') (' MB / ') 
                      ($ VSub_Name '$MEMORY_TOTAL') (' MB')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7441 7446]
                      ) (' Free: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$MEMORY_FREE') (' MB')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7460 7465]
                      ) ($ VSub_Name '$C_REVERSE') (' Memory Usage (SWAP):     ')
                    )
                  }
                )
                (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') ($ VSub_Name '$MEMORY_SWAPERCENT'))})
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7487 7492]
                      ) (' Used: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$MEMORY_SWAPUSED') (' MB / ') 
                      ($ VSub_Name '$MEMORY_SWAPTOTAL') (' MB')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7508 7513]
                      ) (' Free: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$MEMORY_SWAPFREE') (' MB')
                    )
                  }
                )
              ]
              spids: [7348]
            )
          spids: [7345 7348]
        )
        (FuncDef
          name: Update_Scene_8
          body: 
            (BraceGroup
              children: [
                (C {(Obtain_PIHOLE)})
                (C {(clear)})
                (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$BANNER_PRINT'))})
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7578 7583]
                      ) ($ VSub_Name '$C_REVERSE') (' Pi-hole stats (TODAY):   ')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7595 7600]
                      ) (' Ads Blocked: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$PIHOLE_TOTAL_ADS')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7613 7618]
                      ) (' DNS Queries: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$PIHOLE_QUERY_COUNT')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7631 7636]
                      ) (' Blocked Domains: ') ($ VSub_Name '$C_RESET') ($ VSub_Name '$PIHOLE_TOTAL_DOMAINS')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7649 7654]
                      ) ($ VSub_Name '$C_REVERSE') (' % of traffic = Ads:      ')
                    )
                  }
                )
                (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET') ($ VSub_Name '$PIHOLE_PERCENT_ADS'))})
                (C {(echo)} {(-e)} 
                  {
                    (DQ ($ VSub_Name '$C_RESET') 
                      (BracedVarSub
                        token: <VSub_Name aCOLOUR>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$USER_COLOUR_INDEX')}))
                        spids: [7676 7681]
                      ) ($ VSub_Name '$C_REVERSE') (' Last domain blocked:     ')
                    )
                  }
                )
                (C {(echo)} {(-e)} 
                  {(DQ ($ VSub_Name '$C_RESET') (' ') ($ VSub_Name '$PIHOLE_LAST_DOMAIN_BLOCKED'))}
                )
              ]
              spids: [7533]
            )
          spids: [7530 7533]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:FILEPATH_SETTINGS)
              op: Equal
              rhs: {(DQ (/DietPi/dietpi/.dietpi-cloudshell))}
              spids: [7719]
            )
          ]
          spids: [7719]
        )
        (FuncDef
          name: Read_Settings_File
          body: 
            (BraceGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$FILEPATH_SETTINGS'))} 
                              {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [(C {(.)} {(DQ ($ VSub_Name '$FILEPATH_SETTINGS'))})]
                      spids: [16777215 7746]
                    )
                  ]
                  spids: [16777215 7758]
                )
              ]
              spids: [7729]
            )
          spids: [7726 7729]
        )
        (FuncDef
          name: Write_Settings_File
          body: 
            (BraceGroup
              children: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ ('REFRESH_RATE=') ($ VSub_Name '$REFRESH_RATE') ('\n') 
                            ('USER_COLOUR_INDEX=') ($ VSub_Name '$USER_COLOUR_INDEX') ('\n') ('TEMPERATURE_OUTPUT_TYPE=') 
                            ($ VSub_Name '$TEMPERATURE_OUTPUT_TYPE') ('\n') ('OUTPUT_DISPLAY_INDEX=') ($ VSub_Name '$OUTPUT_DISPLAY_INDEX') ('\n') ('\n') 
                            ('NETWORK_USAGE_CURRENT_OUTPUT_TYPE=') ($ VSub_Name '$NETWORK_USAGE_CURRENT_OUTPUT_TYPE') ('\n') ('\n') 
                            ('BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED=') ($ VSub_Name '$BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED') ('\n') ('BLANK_SCREEN_TIME_HOUR_START=') 
                            ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_START') ('\n') ('BLANK_SCREEN_TIME_HOUR_END=') ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_END') ('\n') ('\n')
                          )
                        }
                      do_expansion: True
                      here_end: _EOF_
                      was_filled: T
                      spids: [7775]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$FILEPATH_SETTINGS'))}
                      spids: [7779]
                    )
                  ]
                )
                (ForExpr
                  init: 
                    (BinaryAssign
                      op_id: Arith_Equal
                      left: (LhsName name:i)
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                  cond: 
                    (ArithBinary
                      op_id: Arith_Less
                      left: (ArithVarRef name:i)
                      right: (ArithWord w:{($ VSub_Name '$MAX_SCENES')})
                    )
                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                  body: 
                    (DoGroup
                      children: [
                        (SimpleCommand
                          words: [
                            {(echo)}
                            {(-e)}
                            {
                              (DQ ('aEnabledScenes[') ($ VSub_Name '$i') (']=') 
                                (BracedVarSub
                                  token: <VSub_Name aEnabledScenes>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                  spids: [7850 7855]
                                )
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_DGreat
                              fd: 16777215
                              arg_word: {($ VSub_Name '$FILEPATH_SETTINGS')}
                              spids: [7858]
                            )
                          ]
                        )
                      ]
                      spids: [7838 7864]
                    )
                )
                (ForExpr
                  init: 
                    (BinaryAssign
                      op_id: Arith_Equal
                      left: (LhsName name:i)
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                  cond: 
                    (ArithBinary
                      op_id: Arith_Less
                      left: (ArithVarRef name:i)
                      right: (ArithWord w:{($ VSub_Name '$MAX_STORAGE')})
                    )
                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                  body: 
                    (DoGroup
                      children: [
                        (SimpleCommand
                          words: [
                            {(echo)}
                            {(-e)}
                            {
                              (DQ ('STORAGE_PATH[') ($ VSub_Name '$i') ("]='") 
                                (BracedVarSub
                                  token: <VSub_Name STORAGE_PATH>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                  spids: [7903 7908]
                                ) ("'")
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_DGreat
                              fd: 16777215
                              arg_word: {($ VSub_Name '$FILEPATH_SETTINGS')}
                              spids: [7912]
                            )
                          ]
                        )
                        (SimpleCommand
                          words: [
                            {(echo)}
                            {(-e)}
                            {
                              (DQ ('STORAGE_NAME[') ($ VSub_Name '$i') ("]='") 
                                (BracedVarSub
                                  token: <VSub_Name STORAGE_NAME>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                  spids: [7925 7930]
                                ) ("'")
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_DGreat
                              fd: 16777215
                              arg_word: {($ VSub_Name '$FILEPATH_SETTINGS')}
                              spids: [7934]
                            )
                          ]
                        )
                      ]
                      spids: [7891 7940]
                    )
                )
              ]
              spids: [7769]
            )
          spids: [7766 7769]
        )
        (FuncDef
          name: Init
          body: 
            (BraceGroup
              children: [
                (C {(Init_STORAGE)})
                (C {(Read_Settings_File)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                  right: (ArithWord w:{(Lit_Digits 20)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(aEnabledScenes) (Lit_Other '[') (0) (Lit_Other ']') (Lit_Other '=') (0)})
                      ]
                      spids: [16777215 8013]
                    )
                  ]
                  spids: [16777215 8024]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(/etc/pihole/gravity.list)} 
                              {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(aEnabledScenes) (Lit_Other '[') (8) (Lit_Other ']') (Lit_Other '=') (0)})
                      ]
                      spids: [16777215 8053]
                    )
                  ]
                  spids: [16777215 8066]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:enabled_scene)
                      op: Equal
                      rhs: {(0)}
                      spids: [8080]
                    )
                  ]
                  spids: [8078]
                )
                (ForExpr
                  init: 
                    (BinaryAssign
                      op_id: Arith_Equal
                      left: (LhsName name:i)
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                  cond: 
                    (ArithBinary
                      op_id: Arith_Less
                      left: (ArithVarRef name:i)
                      right: (ArithWord w:{($ VSub_Name '$MAX_SCENES')})
                    )
                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                  body: 
                    (DoGroup
                      children: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithWord
                                          w: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name aEnabledScenes>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [8110 8115]
                                              )
                                            }
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:enabled_scene)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [8124]
                                    )
                                  ]
                                  spids: [8124]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              spids: [16777215 8121]
                            )
                          ]
                          spids: [16777215 8131]
                        )
                      ]
                      spids: [8103 8134]
                    )
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$enabled_scene')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(aEnabledScenes) (Lit_Other '[') (4) (Lit_Other ']') (Lit_Other '=') (1)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:SCENE_CURRENT)
                              op: Equal
                              rhs: {(4)}
                              spids: [8168]
                            )
                          ]
                          spids: [8168]
                        )
                      ]
                      spids: [16777215 8156]
                    )
                  ]
                  spids: [16777215 8173]
                )
                (C {(/DietPi/dietpi/func/obtain_network_details)})
              ]
              spids: [7963]
            )
          spids: [7960 7963]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:OUTPUT_DISPLAY_INDEX)
              op: Equal
              rhs: {(0)}
              spids: [8208]
            )
          ]
          spids: [8208]
        )
        (FuncDef
          name: Stop
          body: 
            (BraceGroup
              children: [
                (C {(systemctl)} {(stop)} {(dietpi-cloudshell)})
                (Pipeline
                  children: [
                    (C {(ps)} {(ax)})
                    (C {(grep)} {(SQ <'[d]ietpi-cloudshell [1-9]'>)})
                    (SimpleCommand
                      words: [{(awk)} {(SQ <'{print $1}'>)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$FP_TEMP'))}
                          spids: [8256]
                        )
                      ]
                    )
                  ]
                  negated: F
                )
                (While
                  cond: [(C {(read)} {(-r)} {(line)})]
                  body: 
                    (DoGroup
                      children: [
                        (Sentence
                          child: (C {(kill)} {($ VSub_Name '$line')})
                          terminator: <Op_Amp '&'>
                        )
                        (SimpleCommand
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [8280]
                            )
                          ]
                        )
                      ]
                      spids: [8272 8285]
                    )
                  redirects: [
                    (Redir
                      op_id: Redir_Less
                      fd: 16777215
                      arg_word: {($ VSub_Name '$FP_TEMP')}
                      spids: [8287]
                    )
                  ]
                )
              ]
              spids: [8216]
            )
          spids: [8213 8216]
        )
        (FuncDef
          name: Start
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:output_current_screen)
                      op: Equal
                      rhs: {(0)}
                      spids: [8310]
                    )
                  ]
                  spids: [8308]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} 
                              {
                                (DQ 
                                  (CommandSubPart
                                    command_list: (CommandList children:[(C {(tty)})])
                                    left_token: <Left_CommandSub '$('>
                                    spids: [8319 8321]
                                  )
                                )
                              } {(Lit_Other '=')} {(DQ (/dev/tty1))} {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:output_current_screen)
                              op: Equal
                              rhs: {(1)}
                              spids: [8336]
                            )
                          ]
                          spids: [8336]
                        )
                      ]
                      spids: [16777215 8333]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$OUTPUT_DISPLAY_INDEX')})
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:output_current_screen)
                              op: Equal
                              rhs: {(1)}
                              spids: [8357]
                            )
                          ]
                          spids: [8357]
                        )
                      ]
                      spids: [8340 8354]
                    )
                  ]
                  spids: [16777215 8361]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$output_current_screen')})
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(clear)})
                        (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$C_RESET'))})
                        (C {(read)} {(-p)} 
                          {
                            (DQ ('Use CTRL+C to exit. Press any key to launch ') 
                              ($ VSub_Name '$PROGRAM_NAME') (...)
                            )
                          }
                        )
                      ]
                      spids: [16777215 8383]
                    )
                  ]
                  spids: [16777215 8409]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$output_current_screen')})
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [(C {(/DietPi/dietpi/dietpi-cloudshell)} {(1)})]
                      spids: [16777215 8431]
                    )
                  ]
                  else_action: [(C {(systemctl)} {(start)} {(dietpi-cloudshell)})]
                  spids: [8445 8457]
                )
                (C {(sleep)} {(0.1)})
              ]
              spids: [8300]
            )
          spids: [8297 8300]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:WHIP_BACKTITLE) op:Equal rhs:{(0)} spids:[8483])]
          spids: [8483]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:WHIP_TITLE) op:Equal rhs:{(0)} spids:[8487])]
          spids: [8487]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:WHIP_QUESTION) op:Equal rhs:{(0)} spids:[8491])]
          spids: [8491]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:CHOICE) op:Equal rhs:{(0)} spids:[8495])]
          spids: [8495]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[8499])]
          spids: [8499]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:LASTSELECTED_ITEM)
              op: Equal
              rhs: {(DQ )}
              spids: [8503]
            )
          ]
          spids: [8503]
        )
        (FuncDef
          name: Menu_Exit
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(DQ ('Exit ') ($ VSub_Name '$PROGRAM_NAME'))}
                      spids: [8516]
                    )
                  ]
                  spids: [8516]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_QUESTION)
                      op: Equal
                      rhs: {(DQ ('Exit ') ($ VSub_Name '$PROGRAM_NAME') (' configuration tool?'))}
                      spids: [8523]
                    )
                  ]
                  spids: [8523]
                )
                (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} 
                  {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--backtitle)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} 
                  {(DQ (Back))} {(--defaultno)} {(9)} {(55)}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CHOICE)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [8570]
                    )
                  ]
                  spids: [8570]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(Write_Settings_File)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TARGETMENUID)
                              op: Equal
                              rhs: {(-1)}
                              spids: [8604]
                            )
                          ]
                          spids: [8604]
                        )
                      ]
                      spids: [16777215 8588]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(0)}
                          spids: [8617]
                        )
                      ]
                      spids: [8617]
                    )
                  ]
                  spids: [8609 8622]
                )
              ]
              spids: [8512]
            )
          spids: [8509 8512]
        )
        (FuncDef
          name: Menu_Main
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGETMENUID)
                      op: Equal
                      rhs: {(0)}
                      spids: [8641]
                    )
                  ]
                  spids: [8641]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_BACKTITLE)
                      op: Equal
                      rhs: 
                        {
                          (DQ ('- ') ($ VSub_Name '$PROGRAM_NAME') (' v') 
                            ($ VSub_Name '$DIETPI_CLOUDSHELL_VERSION') (' -')
                          )
                        }
                      spids: [8645]
                    )
                  ]
                  spids: [8645]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(DQ ('- ') ($ VSub_Name '$PROGRAM_NAME') (' -'))}
                      spids: [8655]
                    )
                  ]
                  spids: [8655]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:temp_output_text)
                      op: Equal
                      rhs: {(DQ (Fahrenheit))}
                      spids: [8666]
                    )
                  ]
                  spids: [8664]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$TEMPERATURE_OUTPUT_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:temp_output_text)
                              op: Equal
                              rhs: {(DQ (Celsius))}
                              spids: [8689]
                            )
                          ]
                          spids: [8689]
                        )
                      ]
                      spids: [16777215 8686]
                    )
                  ]
                  spids: [16777215 8695]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:target_output_text)
                      op: Equal
                      rhs: {(DQ ('Main Screen (tty1)'))}
                      spids: [8701]
                    )
                  ]
                  spids: [8699]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$OUTPUT_DISPLAY_INDEX')})
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:target_output_text)
                              op: Equal
                              rhs: {(DQ ('Current screen or terminal'))}
                              spids: [8724]
                            )
                          ]
                          spids: [8724]
                        )
                      ]
                      spids: [16777215 8721]
                    )
                  ]
                  spids: [16777215 8730]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:bitbyte_output_text)
                      op: Equal
                      rhs: {(DQ ('Bit (Kbit, Mbit, Gbit)'))}
                      spids: [8736]
                    )
                  ]
                  spids: [8734]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: 
                                    (ArithWord
                                      w: {($ VSub_Name '$NETWORK_USAGE_CURRENT_OUTPUT_TYPE')}
                                    )
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:bitbyte_output_text)
                              op: Equal
                              rhs: {(DQ ('Byte (KB, MB, GB)'))}
                              spids: [8759]
                            )
                          ]
                          spids: [8759]
                        )
                      ]
                      spids: [16777215 8756]
                    )
                  ]
                  spids: [16777215 8765]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:autoscreenoff)
                      op: Equal
                      rhs: {(DQ (Disabled))}
                      spids: [8771]
                    )
                  ]
                  spids: [8769]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithWord
                                  w: {($ VSub_Name '$BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:autoscreenoff)
                              op: Equal
                              rhs: {(DQ (Enabled))}
                              spids: [8790]
                            )
                          ]
                          spids: [8790]
                        )
                      ]
                      spids: [16777215 8787]
                    )
                  ]
                  spids: [16777215 8796]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:OPTION)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(whiptail)}
                                      {(--title)}
                                      {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                      {(--backtitle)}
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                      {(--menu)}
                                      {(DQ )}
                                      {(--cancel-button)}
                                      {(DQ (Exit))}
                                      {(--default-item)}
                                      {(DQ ($ VSub_Name '$LASTSELECTED_ITEM'))}
                                      {(17)}
                                      {(75)}
                                      {(10)}
                                      {(DQ (Colour))}
                                      {(DQ ('Setting: Change the colour scheme.'))}
                                      {(DQ ('Update Rate'))}
                                      {(DQ ('Setting: Control the time between screen updates.'))}
                                      {(DQ (Scenes))}
                                      {(DQ ('Setting: Toggle which scenes are shown.'))}
                                      {(DQ (Storage))}
                                      {(DQ ('Setting: Set mount locations used for storage stats'))}
                                      {(DQ (Temperature))}
                                      {(DQ ('Setting: Output = ') ($ VSub_Name '$temp_output_text'))}
                                      {(DQ ('Net Usage Current'))}
                                      {
                                        (DQ ('Setting: Output = ') 
                                          ($ VSub_Name '$bitbyte_output_text')
                                        )
                                      }
                                      {(DQ ('Output Display'))}
                                      {(DQ ('Setting: ') ($ VSub_Name '$target_output_text') (.))}
                                      {(DQ ('Auto screen off'))}
                                      {
                                        (DQ ('Setting: ') ($ VSub_Name '$autoscreenoff') (' | Start ') 
                                          ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_START') (' h | End ') ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_END') (' h')
                                        )
                                      }
                                      {(DQ ('Start / Restart'))}
                                      {
                                        (DQ ('Apply settings. Launch on ') 
                                          ($ VSub_Name '$target_output_text') (.)
                                        )
                                      }
                                      {(DQ (Stop))}
                                      {(DQ ('Stops ') ($ VSub_Name '$PROGRAM_NAME') (.))}
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 3
                                        arg_word: {(1)}
                                        spids: [8953]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 1
                                        arg_word: {(2)}
                                        spids: [8956]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 2
                                        arg_word: {(3)}
                                        spids: [8959]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [8801 8961]
                          )
                        }
                      spids: [8800]
                    )
                  ]
                  spids: [8800]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CHOICE)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [8965]
                    )
                  ]
                  spids: [8965]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:LASTSELECTED_ITEM)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$OPTION'))}
                              spids: [8987]
                            )
                          ]
                          spids: [8987]
                        )
                        (Case
                          to_match: {(DQ ($ VSub_Name '$OPTION'))}
                          arms: [
                            (case_arm
                              pat_list: [{(DQ (Storage))}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:TARGETMENUID)
                                      op: Equal
                                      rhs: {(5)}
                                      spids: [9010]
                                    )
                                  ]
                                  spids: [9010]
                                )
                              ]
                              spids: [9005 9007 9014 16777215]
                            )
                            (case_arm
                              pat_list: [{(DQ ('Auto screen off'))}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:TARGETMENUID)
                                      op: Equal
                                      rhs: {(4)}
                                      spids: [9023]
                                    )
                                  ]
                                  spids: [9023]
                                )
                              ]
                              spids: [9018 9020 9027 16777215]
                            )
                            (case_arm
                              pat_list: [{(DQ ('Net Usage Current'))}]
                              action: [
                                (DParen
                                  child: 
                                    (UnaryAssign
                                      op_id: Node_PostDPlus
                                      child: (LhsName name:NETWORK_USAGE_CURRENT_OUTPUT_TYPE)
                                    )
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_Great
                                                  left: 
                                                    (ArithWord
                                                      w: 
                                                        {
                                                          ($ VSub_Name 
'$NETWORK_USAGE_CURRENT_OUTPUT_TYPE'
                                                          )
                                                        }
                                                    )
                                                  right: (ArithWord w:{(Lit_Digits 1)})
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:NETWORK_USAGE_CURRENT_OUTPUT_TYPE)
                                              op: Equal
                                              rhs: {(0)}
                                              spids: [9060]
                                            )
                                          ]
                                          spids: [9060]
                                        )
                                      ]
                                      spids: [16777215 9057]
                                    )
                                  ]
                                  spids: [16777215 9064]
                                )
                              ]
                              spids: [9031 9033 9067 16777215]
                            )
                            (case_arm
                              pat_list: [{(Temperature)}]
                              action: [
                                (DParen
                                  child: 
                                    (UnaryAssign
                                      op_id: Node_PostDPlus
                                      child: (LhsName name:TEMPERATURE_OUTPUT_TYPE)
                                    )
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_Great
                                                  left: 
                                                    (ArithWord
                                                      w: {($ VSub_Name '$TEMPERATURE_OUTPUT_TYPE')}
                                                    )
                                                  right: (ArithWord w:{(Lit_Digits 1)})
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:TEMPERATURE_OUTPUT_TYPE)
                                              op: Equal
                                              rhs: {(0)}
                                              spids: [9098]
                                            )
                                          ]
                                          spids: [9098]
                                        )
                                      ]
                                      spids: [16777215 9095]
                                    )
                                  ]
                                  spids: [16777215 9102]
                                )
                              ]
                              spids: [9070 9071 9105 16777215]
                            )
                            (case_arm
                              pat_list: [{(DQ ('Output Display'))}]
                              action: [
                                (DParen
                                  child: 
                                    (UnaryAssign
                                      op_id: Node_PostDPlus
                                      child: (LhsName name:OUTPUT_DISPLAY_INDEX)
                                    )
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_Great
                                                  left: 
                                                    (ArithWord
                                                      w: {($ VSub_Name '$OUTPUT_DISPLAY_INDEX')}
                                                    )
                                                  right: (ArithWord w:{(Lit_Digits 1)})
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:OUTPUT_DISPLAY_INDEX)
                                              op: Equal
                                              rhs: {(0)}
                                              spids: [9138]
                                            )
                                          ]
                                          spids: [9138]
                                        )
                                      ]
                                      spids: [16777215 9135]
                                    )
                                  ]
                                  spids: [16777215 9142]
                                )
                              ]
                              spids: [9109 9111 9145 16777215]
                            )
                            (case_arm
                              pat_list: [{(DQ ('Start / Restart'))}]
                              action: [(C {(Write_Settings_File)}) (C {(Stop)}) (C {(Start)})]
                              spids: [9149 9151 9163 16777215]
                            )
                            (case_arm
                              pat_list: [{(DQ (Stop))}]
                              action: [(C {(Stop)})]
                              spids: [9167 9169 9175 16777215]
                            )
                            (case_arm
                              pat_list: [{(Colour)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:TARGETMENUID)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [9182]
                                    )
                                  ]
                                  spids: [9182]
                                )
                              ]
                              spids: [9178 9179 9186 16777215]
                            )
                            (case_arm
                              pat_list: [{(DQ ('Update Rate'))}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:TARGETMENUID)
                                      op: Equal
                                      rhs: {(2)}
                                      spids: [9195]
                                    )
                                  ]
                                  spids: [9195]
                                )
                              ]
                              spids: [9190 9192 9199 16777215]
                            )
                            (case_arm
                              pat_list: [{(Scenes)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:TARGETMENUID)
                                      op: Equal
                                      rhs: {(3)}
                                      spids: [9206]
                                    )
                                  ]
                                  spids: [9206]
                                )
                              ]
                              spids: [9202 9203 9210 16777215]
                            )
                          ]
                          spids: [8994 9000 9213]
                        )
                      ]
                      spids: [16777215 8983]
                    )
                  ]
                  else_action: [(C {(Menu_Exit)})]
                  spids: [9216 9222]
                )
              ]
              spids: [8637]
            )
          spids: [8634 8637]
        )
        (FuncDef
          name: Menu_Colour
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGETMENUID)
                      op: Equal
                      rhs: {(0)}
                      spids: [9245]
                    )
                  ]
                  spids: [9245]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(SQ <'- Options : Colour -'>)}
                      spids: [9282]
                    )
                  ]
                  spids: [9282]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_QUESTION)
                      op: Equal
                      rhs: {(SQ <'Select your colour scheme.'>)}
                      spids: [9288]
                    )
                  ]
                  spids: [9288]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:OPTION)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(whiptail)}
                                      {(--title)}
                                      {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                      {(--backtitle)}
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                      {(--menu)}
                                      {(DQ ($ VSub_Name '$WHIP_QUESTION'))}
                                      {(--cancel-button)}
                                      {(DQ (Back))}
                                      {(--default-item)}
                                      {(DQ ($ VSub_Name '$USER_COLOUR_INDEX'))}
                                      {(15)}
                                      {(45)}
                                      {(7)}
                                      {(DQ (0))}
                                      {(DQ (White))}
                                      {(DQ (1))}
                                      {(DQ (Red))}
                                      {(DQ (2))}
                                      {(DQ (Green))}
                                      {(DQ (3))}
                                      {(DQ ('Yellow (Default)'))}
                                      {(DQ (4))}
                                      {(DQ (Blue))}
                                      {(DQ (5))}
                                      {(DQ (Purple))}
                                      {(DQ (6))}
                                      {(DQ (Cyan))}
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 3
                                        arg_word: {(1)}
                                        spids: [9404]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 1
                                        arg_word: {(2)}
                                        spids: [9407]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 2
                                        arg_word: {(3)}
                                        spids: [9410]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [9295 9412]
                          )
                        }
                      spids: [9294]
                    )
                  ]
                  spids: [9294]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CHOICE)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [9416]
                    )
                  ]
                  spids: [9416]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:USER_COLOUR_INDEX)
                              op: Equal
                              rhs: {($ VSub_Name '$OPTION')}
                              spids: [9438]
                            )
                          ]
                          spids: [9438]
                        )
                      ]
                      spids: [16777215 9434]
                    )
                  ]
                  spids: [16777215 9443]
                )
              ]
              spids: [9237]
            )
          spids: [9234 9237]
        )
        (FuncDef
          name: Menu_UpdateRate
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGETMENUID)
                      op: Equal
                      rhs: {(0)}
                      spids: [9466]
                    )
                  ]
                  spids: [9466]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(SQ <'- Options : Update Rate -'>)}
                      spids: [9471]
                    )
                  ]
                  spids: [9471]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_QUESTION)
                      op: Equal
                      rhs: {(SQ <'Change the delay between scene changes and updates.'>)}
                      spids: [9477]
                    )
                  ]
                  spids: [9477]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:OPTION)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(whiptail)}
                                      {(--title)}
                                      {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                      {(--backtitle)}
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                      {(--menu)}
                                      {(DQ ($ VSub_Name '$WHIP_QUESTION'))}
                                      {(--cancel-button)}
                                      {(DQ (Back))}
                                      {(--default-item)}
                                      {(DQ ($ VSub_Name '$REFRESH_RATE'))}
                                      {(15)}
                                      {(55)}
                                      {(7)}
                                      {(DQ (1))}
                                      {(DQ (Second))}
                                      {(DQ (3))}
                                      {(DQ (Seconds))}
                                      {(DQ (5))}
                                      {(DQ ('Seconds (Default)'))}
                                      {(DQ (10))}
                                      {(DQ (Seconds))}
                                      {(DQ (15))}
                                      {(DQ (Seconds))}
                                      {(DQ (20))}
                                      {(DQ (Seconds))}
                                      {(DQ (30))}
                                      {(DQ (Seconds))}
                                      {(DQ (45))}
                                      {(DQ (Seconds))}
                                      {(DQ (60))}
                                      {(DQ (Seconds))}
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 3
                                        arg_word: {(1)}
                                        spids: [9613]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 1
                                        arg_word: {(2)}
                                        spids: [9616]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 2
                                        arg_word: {(3)}
                                        spids: [9619]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [9484 9621]
                          )
                        }
                      spids: [9483]
                    )
                  ]
                  spids: [9483]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CHOICE)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [9625]
                    )
                  ]
                  spids: [9625]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:REFRESH_RATE)
                              op: Equal
                              rhs: {($ VSub_Name '$OPTION')}
                              spids: [9647]
                            )
                          ]
                          spids: [9647]
                        )
                      ]
                      spids: [16777215 9643]
                    )
                  ]
                  spids: [16777215 9652]
                )
              ]
              spids: [9458]
            )
          spids: [9455 9458]
        )
        (FuncDef
          name: Menu_SceneSelection
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGETMENUID)
                      op: Equal
                      rhs: {(0)}
                      spids: [9675]
                    )
                  ]
                  spids: [9675]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:FP_TEMP)
                      op: Equal
                      rhs: {(DQ (/tmp/.dietpi-cloudshell_scenelist))}
                      spids: [9680]
                    )
                  ]
                  spids: [9680]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aWhiptailArray)
                      op: Equal
                      rhs: {(ArrayLiteralPart)}
                      spids: [9693]
                    )
                  ]
                  spids: [9691]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aWhip_OnOff_Status)
                      op: Equal
                      rhs: {(ArrayLiteralPart)}
                      spids: [9700]
                    )
                  ]
                  spids: [9698]
                )
                (ForExpr
                  init: 
                    (BinaryAssign
                      op_id: Arith_Equal
                      left: (LhsName name:i)
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                  cond: 
                    (ArithBinary
                      op_id: Arith_Less
                      left: (ArithVarRef name:i)
                      right: (ArithWord w:{($ VSub_Name '$MAX_SCENES')})
                    )
                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                  body: 
                    (DoGroup
                      children: [
                        (C 
                          {(aWhip_OnOff_Status) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                            (Lit_Other '=') (SQ <on>)
                          }
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithUnary
                                          op_id: Arith_Bang
                                          child: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name aEnabledScenes>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: (ArithWord w:{($ VSub_Name '$i')})
                                                      )
                                                    spids: [9747 9752]
                                                  )
                                                }
                                            )
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C 
                                  {(aWhip_OnOff_Status) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') (SQ <off>)
                                  }
                                )
                              ]
                              spids: [16777215 9758]
                            )
                          ]
                          spids: [16777215 9773]
                        )
                      ]
                      spids: [9724 9777]
                    )
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(0)} spids:[9787])]
                  spids: [9785]
                )
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(0)} spids:[9791])]
                      spids: [9791]
                    )
                  terminator: <Op_Semi ';'>
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aWhiptailArray)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ ($ VSub_Name '$index'))}
                              {(DQ ('CPU: Temperatures, Usage, frequency and more.'))}
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aWhip_OnOff_Status>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                    spids: [9805 9810]
                                  )
                                )
                              }
                            ]
                          )
                        }
                      spids: [9794]
                    )
                  ]
                  spids: [9794]
                )
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(1)} spids:[9815])]
                      spids: [9815]
                    )
                  terminator: <Op_Semi ';'>
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aWhiptailArray)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ ($ VSub_Name '$index'))}
                              {(DQ ('Storage: Usage information for Flash and USB drives'))}
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aWhip_OnOff_Status>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                    spids: [9829 9834]
                                  )
                                )
                              }
                            ]
                          )
                        }
                      spids: [9818]
                    )
                  ]
                  spids: [9818]
                )
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(2)} spids:[9839])]
                      spids: [9839]
                    )
                  terminator: <Op_Semi ';'>
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aWhiptailArray)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ ($ VSub_Name '$index'))}
                              {(DQ (' - Additional Storage (USB_2/3)'))}
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aWhip_OnOff_Status>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                    spids: [9853 9858]
                                  )
                                )
                              }
                            ]
                          )
                        }
                      spids: [9842]
                    )
                  ]
                  spids: [9842]
                )
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(3)} spids:[9863])]
                      spids: [9863]
                    )
                  terminator: <Op_Semi ';'>
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aWhiptailArray)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ ($ VSub_Name '$index'))}
                              {(DQ (' - Additional Storage (USB_4/5)'))}
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aWhip_OnOff_Status>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                    spids: [9877 9882]
                                  )
                                )
                              }
                            ]
                          )
                        }
                      spids: [9866]
                    )
                  ]
                  spids: [9866]
                )
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(4)} spids:[9887])]
                      spids: [9887]
                    )
                  terminator: <Op_Semi ';'>
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aWhiptailArray)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ ($ VSub_Name '$index'))}
                              {(DQ ('DietPi: Information, stats and updates for DietPi.'))}
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aWhip_OnOff_Status>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                    spids: [9901 9906]
                                  )
                                )
                              }
                            ]
                          )
                        }
                      spids: [9890]
                    )
                  ]
                  spids: [9890]
                )
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(5)} spids:[9911])]
                      spids: [9911]
                    )
                  terminator: <Op_Semi ';'>
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aWhiptailArray)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ ($ VSub_Name '$index'))}
                              {(DQ ('Network Details: Ip address, Speeds, Signal and more.'))}
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aWhip_OnOff_Status>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                    spids: [9925 9930]
                                  )
                                )
                              }
                            ]
                          )
                        }
                      spids: [9914]
                    )
                  ]
                  spids: [9914]
                )
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(6)} spids:[9935])]
                      spids: [9935]
                    )
                  terminator: <Op_Semi ';'>
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aWhiptailArray)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ ($ VSub_Name '$index'))}
                              {(DQ ('Network Usage: Bandwidth usage (sent / recieved).'))}
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aWhip_OnOff_Status>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                    spids: [9949 9954]
                                  )
                                )
                              }
                            ]
                          )
                        }
                      spids: [9938]
                    )
                  ]
                  spids: [9938]
                )
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(7)} spids:[9959])]
                      spids: [9959]
                    )
                  terminator: <Op_Semi ';'>
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aWhiptailArray)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ ($ VSub_Name '$index'))}
                              {(DQ ('Memory: Stats for RAM and Swapfile usage.'))}
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aWhip_OnOff_Status>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                    spids: [9973 9978]
                                  )
                                )
                              }
                            ]
                          )
                        }
                      spids: [9962]
                    )
                  ]
                  spids: [9962]
                )
                (Sentence
                  child: 
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(8)} spids:[9983])]
                      spids: [9983]
                    )
                  terminator: <Op_Semi ';'>
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aWhiptailArray)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ ($ VSub_Name '$index'))}
                              {(DQ ('Pi-hole: Stats for Pi-hole. Total Ads blocked etc.'))}
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aWhip_OnOff_Status>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$index')}))
                                    spids: [9997 10002]
                                  )
                                )
                              }
                            ]
                          )
                        }
                      spids: [9986]
                    )
                  ]
                  spids: [9986]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(SQ <'- Options : Scene Selection -'>)}
                      spids: [10008]
                    )
                  ]
                  spids: [10008]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_QUESTION)
                      op: Equal
                      rhs: {(SQ <'Please use the spacebar to toggle which scenes are active.'>)}
                      spids: [10014]
                    )
                  ]
                  spids: [10014]
                )
                (SimpleCommand
                  words: [
                    {(whiptail)}
                    {(--title)}
                    {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                    {(--checklist)}
                    {(DQ ($ VSub_Name '$WHIP_QUESTION'))}
                    {(--backtitle)}
                    {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                    {(--separate-output)}
                    {(16)}
                    {(75)}
                    {(9)}
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name aWhiptailArray>
                          bracket_op: (WholeArray op_id:Lit_At)
                          spids: [10049 10054]
                        )
                      )
                    }
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 2
                      arg_word: {(DQ ($ VSub_Name '$FP_TEMP'))}
                      spids: [10057]
                    )
                  ]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CHOICE)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [10064]
                    )
                  ]
                  spids: [10064]
                )
                (C {(unset)} {(aWhiptailArray)})
                (C {(unset)} {(aWhip_OnOff_Status)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (ForExpr
                          init: 
                            (BinaryAssign
                              op_id: Arith_Equal
                              left: (LhsName name:i)
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                          cond: 
                            (ArithBinary
                              op_id: Arith_Less
                              left: (ArithVarRef name:i)
                              right: (ArithWord w:{($ VSub_Name '$MAX_SCENES')})
                            )
                          update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                          body: 
                            (DoGroup
                              children: [
                                (C 
                                  {(aEnabledScenes) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                    (Lit_Other '=') (0)
                                  }
                                )
                              ]
                              spids: [10125 10137]
                            )
                        )
                      ]
                      spids: [16777215 10102]
                    )
                  ]
                  spids: [16777215 10141]
                )
                (While
                  cond: [(C {(read)} {(-r)} {(line)})]
                  body: 
                    (DoGroup
                      children: [
                        (C 
                          {(aEnabledScenes) (Lit_Other '[') ($ VSub_Name '$line') (Lit_Other ']') 
                            (Lit_Other '=') (1)
                          }
                        )
                      ]
                      spids: [10158 10171]
                    )
                  redirects: [
                    (Redir
                      op_id: Redir_Less
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$FP_TEMP'))}
                      spids: [10173]
                    )
                  ]
                )
              ]
              spids: [9667]
            )
          spids: [9664 9667]
        )
        (FuncDef
          name: Menu_BlankScreenAtTime
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGETMENUID)
                      op: Equal
                      rhs: {(0)}
                      spids: [10200]
                    )
                  ]
                  spids: [10200]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aWhipHour)
                      op: Equal
                      rhs: {(ArrayLiteralPart)}
                      spids: [10211]
                    )
                  ]
                  spids: [10209]
                )
                (ForExpr
                  init: 
                    (BinaryAssign
                      op_id: Arith_Equal
                      left: (LhsName name:i)
                      right: (ArithWord w:{(Lit_Digits 0)})
                    )
                  cond: 
                    (ArithBinary
                      op_id: Arith_Less
                      left: (ArithVarRef name:i)
                      right: (ArithWord w:{(Lit_Digits 24)})
                    )
                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                  body: 
                    (DoGroup
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:aWhipHour)
                              op: PlusEqual
                              rhs: 
                                {(ArrayLiteralPart words:[{(DQ ($ VSub_Name '$i'))} {(DQ (Hour))}])}
                              spids: [10238]
                            )
                          ]
                          spids: [10238]
                        )
                      ]
                      spids: [10235 10251]
                    )
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:blank_screen_at_specific_time_enabled_text)
                      op: Equal
                      rhs: {(SQ <Disabled>)}
                      spids: [10257]
                    )
                  ]
                  spids: [10255]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithWord
                                  w: {($ VSub_Name '$BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:blank_screen_at_specific_time_enabled_text)
                              op: Equal
                              rhs: {(SQ <Enabled>)}
                              spids: [10276]
                            )
                          ]
                          spids: [10276]
                        )
                      ]
                      spids: [16777215 10273]
                    )
                  ]
                  spids: [16777215 10282]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(SQ <'- Options : Auto screen off -'>)}
                      spids: [10286]
                    )
                  ]
                  spids: [10286]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_QUESTION)
                      op: Equal
                      rhs: 
                        {
                          (SQ 
                            <
'Automatically power down the screen and disable DietPi-Cloudshell processing during a specific time.\\n\\nNB: This feature will only work if DietPi-Cloudshell was launched with the DietPi-Autostart option, or, launched from the main screen (tty1).'
                            >
                          )
                        }
                      spids: [10292]
                    )
                  ]
                  spids: [10292]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:OPTION)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(whiptail)}
                                      {(--title)}
                                      {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                      {(--backtitle)}
                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                      {(--menu)}
                                      {(DQ ($ VSub_Name '$WHIP_QUESTION'))}
                                      {(--cancel-button)}
                                      {(DQ (Back))}
                                      {(--default-item)}
                                      {(DQ ($ VSub_Name '$REFRESH_RATE'))}
                                      {(16)}
                                      {(60)}
                                      {(3)}
                                      {(DQ (Toggle))}
                                      {
                                        (DQ 
                                          ($ VSub_Name '$blank_screen_at_specific_time_enabled_text')
                                        )
                                      }
                                      {(DQ ('Start time'))}
                                      {
                                        (DQ ('Set which hour to power off screen (') 
                                          ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_START') (').')
                                        )
                                      }
                                      {(DQ ('End time'))}
                                      {
                                        (DQ ('Set which hour to power on screen (') 
                                          ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_END') (').')
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 3
                                        arg_word: {(1)}
                                        spids: [10372]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 1
                                        arg_word: {(2)}
                                        spids: [10375]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 2
                                        arg_word: {(3)}
                                        spids: [10378]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [10299 10380]
                          )
                        }
                      spids: [10298]
                    )
                  ]
                  spids: [10298]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CHOICE)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [10384]
                    )
                  ]
                  spids: [10384]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                      {(Lit_Other '=')} {(DQ (Toggle))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (DParen
                                  child: 
                                    (UnaryAssign
                                      op_id: Node_PostDPlus
                                      child: (LhsName name:BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED)
                                    )
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_Great
                                                  left: 
                                                    (ArithWord
                                                      w: 
                                                        {
                                                          ($ VSub_Name 
'$BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED'
                                                          )
                                                        }
                                                    )
                                                  right: (ArithWord w:{(Lit_Digits 1)})
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (LhsName
                                                  name: BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED
                                                )
                                              op: Equal
                                              rhs: {(0)}
                                              spids: [10450]
                                            )
                                          ]
                                          spids: [10450]
                                        )
                                      ]
                                      spids: [16777215 10447]
                                    )
                                  ]
                                  spids: [16777215 10454]
                                )
                              ]
                              spids: [16777215 10422]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                      {(Lit_Other '=')} {(DQ ('Start time'))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:WHIP_QUESTION)
                                      op: Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            <
'Please select which hour (24h) you would like the screen to power off.'
                                            >
                                          )
                                        }
                                      spids: [10478]
                                    )
                                  ]
                                  spids: [10478]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:OPTION)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [
                                                      {(whiptail)}
                                                      {(--title)}
                                                      {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                                      {(--menu)}
                                                      {(DQ ($ VSub_Name '$WHIP_QUESTION'))}
                                                      {(--default-item)}
                                                      {
                                                        (DQ 
                                                          ($ VSub_Name 
'$BLANK_SCREEN_TIME_HOUR_START'
                                                          )
                                                        )
                                                      }
                                                      {(--backtitle)}
                                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                      {(16)}
                                                      {(55)}
                                                      {(7)}
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name aWhipHour>
                                                            bracket_op: (WholeArray op_id:Lit_At)
                                                            spids: [10519 10524]
                                                          )
                                                        )
                                                      }
                                                    ]
                                                    redirects: [
                                                      (Redir
                                                        op_id: Redir_GreatAnd
                                                        fd: 3
                                                        arg_word: {(1)}
                                                        spids: [10527]
                                                      )
                                                      (Redir
                                                        op_id: Redir_GreatAnd
                                                        fd: 1
                                                        arg_word: {(2)}
                                                        spids: [10530]
                                                      )
                                                      (Redir
                                                        op_id: Redir_GreatAnd
                                                        fd: 2
                                                        arg_word: {(3)}
                                                        spids: [10533]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [10485 10535]
                                          )
                                        }
                                      spids: [10484]
                                    )
                                  ]
                                  spids: [10484]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:CHOICE)
                                      op: Equal
                                      rhs: {($ VSub_QMark '$?')}
                                      spids: [10538]
                                    )
                                  ]
                                  spids: [10538]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                                  right: (ArithWord w:{(Lit_Digits 0)})
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:BLANK_SCREEN_TIME_HOUR_START)
                                              op: Equal
                                              rhs: {($ VSub_Name '$OPTION')}
                                              spids: [10559]
                                            )
                                          ]
                                          spids: [10559]
                                        )
                                      ]
                                      spids: [16777215 10556]
                                    )
                                  ]
                                  spids: [16777215 10563]
                                )
                              ]
                              spids: [10458 10474]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                      {(Lit_Other '=')} {(DQ ('End time'))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:WHIP_QUESTION)
                                      op: Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            <
'Please select which hour (24h) you would like the screen to power on.'
                                            >
                                          )
                                        }
                                      spids: [10587]
                                    )
                                  ]
                                  spids: [10587]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:OPTION)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [
                                                      {(whiptail)}
                                                      {(--title)}
                                                      {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                                      {(--menu)}
                                                      {(DQ ($ VSub_Name '$WHIP_QUESTION'))}
                                                      {(--default-item)}
                                                      {
                                                        (DQ 
                                                          ($ VSub_Name '$BLANK_SCREEN_TIME_HOUR_END')
                                                        )
                                                      }
                                                      {(--backtitle)}
                                                      {(DQ ($ VSub_Name '$WHIP_BACKTITLE'))}
                                                      {(16)}
                                                      {(55)}
                                                      {(7)}
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name aWhipHour>
                                                            bracket_op: (WholeArray op_id:Lit_At)
                                                            spids: [10628 10633]
                                                          )
                                                        )
                                                      }
                                                    ]
                                                    redirects: [
                                                      (Redir
                                                        op_id: Redir_GreatAnd
                                                        fd: 3
                                                        arg_word: {(1)}
                                                        spids: [10636]
                                                      )
                                                      (Redir
                                                        op_id: Redir_GreatAnd
                                                        fd: 1
                                                        arg_word: {(2)}
                                                        spids: [10639]
                                                      )
                                                      (Redir
                                                        op_id: Redir_GreatAnd
                                                        fd: 2
                                                        arg_word: {(3)}
                                                        spids: [10642]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [10594 10644]
                                          )
                                        }
                                      spids: [10593]
                                    )
                                  ]
                                  spids: [10593]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:CHOICE)
                                      op: Equal
                                      rhs: {($ VSub_QMark '$?')}
                                      spids: [10647]
                                    )
                                  ]
                                  spids: [10647]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                                  right: (ArithWord w:{(Lit_Digits 0)})
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:BLANK_SCREEN_TIME_HOUR_END)
                                              op: Equal
                                              rhs: {($ VSub_Name '$OPTION')}
                                              spids: [10668]
                                            )
                                          ]
                                          spids: [10668]
                                        )
                                      ]
                                      spids: [16777215 10665]
                                    )
                                  ]
                                  spids: [16777215 10672]
                                )
                              ]
                              spids: [10567 10583]
                            )
                          ]
                          spids: [16777215 10676]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TARGETMENUID)
                              op: Equal
                              rhs: {(4)}
                              spids: [10680]
                            )
                          ]
                          spids: [10680]
                        )
                      ]
                      spids: [16777215 10402]
                    )
                  ]
                  spids: [16777215 10685]
                )
                (C {(unset)} {(aWhipHour)})
              ]
              spids: [10192]
            )
          spids: [10189 10192]
        )
        (FuncDef
          name: Menu_Storage
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGETMENUID)
                      op: Equal
                      rhs: {(0)}
                      spids: [10714]
                    )
                  ]
                  spids: [10714]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:aWhiptailArray)
                      op: Equal
                      rhs: {(ArrayLiteralPart)}
                      spids: [10721]
                    )
                  ]
                  spids: [10719]
                )
                (ForExpr
                  init: 
                    (BinaryAssign
                      op_id: Arith_Equal
                      left: (LhsName name:i)
                      right: (ArithWord w:{(Lit_Digits 1)})
                    )
                  cond: 
                    (ArithBinary
                      op_id: Arith_Less
                      left: (ArithVarRef name:i)
                      right: (ArithWord w:{($ VSub_Name '$MAX_STORAGE')})
                    )
                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                  body: 
                    (DoGroup
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:aWhiptailArray)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {(DQ ($ VSub_Name '$i'))}
                                      {
                                        (DQ (': Drive ') ($ VSub_Name '$i') (' | ') 
                                          (BracedVarSub
                                            token: <VSub_Name STORAGE_PATH>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [10764 10769]
                                          )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [10754]
                            )
                          ]
                          spids: [10754]
                        )
                      ]
                      spids: [10746 10775]
                    )
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(SQ <'- Options : Storage Device Mount Location -'>)}
                      spids: [10779]
                    )
                  ]
                  spids: [10779]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_QUESTION)
                      op: Equal
                      rhs: 
                        {
                          (SQ 
                            <
'DietPi-Cloudshell pulls the storage stats from the drive mount location. If you have custom drives/mounts, please set them here to be displayed during storage scene updates.\\n\\n - Drive 1 = Displayed during main storage scene\\n - Drive 2/3 = Displayed during additional storage scene\\n - Drive 4/5 = Displayed during additional storage scene'
                            >
                          )
                        }
                      spids: [10785]
                    )
                  ]
                  spids: [10785]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:OPTION)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(whiptail)}
                                      {(--title)}
                                      {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                      {(--backtitle)}
                                      {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                                      {(--menu)}
                                      {(DQ ($ VSub_Name '$WHIP_QUESTION'))}
                                      {(--cancel-button)}
                                      {(DQ (Back))}
                                      {(19)}
                                      {(75)}
                                      {(5)}
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name aWhiptailArray>
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [10826 10831]
                                          )
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 3
                                        arg_word: {(1)}
                                        spids: [10834]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 1
                                        arg_word: {(2)}
                                        spids: [10837]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 2
                                        arg_word: {(3)}
                                        spids: [10840]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [10792 10842]
                          )
                        }
                      spids: [10791]
                    )
                  ]
                  spids: [10791]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CHOICE)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [10846]
                    )
                  ]
                  spids: [10846]
                )
                (C {(unset)} {(aWhiptailArray)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:index)
                              op: Equal
                              rhs: {($ VSub_Name '$OPTION')}
                              spids: [10877]
                            )
                          ]
                          spids: [10875]
                        )
                        (C {(/DietPi/dietpi/dietpi-drive_manager)} {(1)})
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:return_string)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [(C {(cat)} {(/tmp/dietpi-drive_manager_selmnt)})]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [10891 10895]
                                    )
                                  )
                                }
                              spids: [10889]
                            )
                          ]
                          spids: [10887]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$return_string'))} 
                                      {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C 
                                  {(STORAGE_PATH) (Lit_Other '[') ($ VSub_Name '$index') 
                                    (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$return_string'))
                                  }
                                )
                              ]
                              spids: [16777215 10912]
                            )
                          ]
                          spids: [16777215 10927]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TARGETMENUID)
                              op: Equal
                              rhs: {(5)}
                              spids: [10931]
                            )
                          ]
                          spids: [10931]
                        )
                      ]
                      spids: [16777215 10871]
                    )
                  ]
                  spids: [16777215 10936]
                )
              ]
              spids: [10706]
            )
          spids: [10703 10706]
        )
        (C {(Init)})
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$INPUT')})
                          right: (ArithWord w:{(Lit_Digits 0)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (While
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_GreatEqual
                              left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  body: 
                    (DoGroup
                      children: [
                        (C {(clear)})
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                          right: (ArithWord w:{(Lit_Digits 0)})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Menu_Main)})]
                              spids: [16777215 11034]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                          right: (ArithWord w:{(Lit_Digits 1)})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Menu_Colour)})]
                              spids: [11040 11054]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                          right: (ArithWord w:{(Lit_Digits 2)})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Menu_UpdateRate)})]
                              spids: [11060 11074]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                          right: (ArithWord w:{(Lit_Digits 3)})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Menu_SceneSelection)})]
                              spids: [11080 11094]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                          right: (ArithWord w:{(Lit_Digits 4)})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Menu_BlankScreenAtTime)})]
                              spids: [11100 11114]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                          right: (ArithWord w:{(Lit_Digits 5)})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Menu_Storage)})]
                              spids: [11120 11134]
                            )
                          ]
                          spids: [16777215 11140]
                        )
                      ]
                      spids: [11012 11144]
                    )
                )
              ]
              spids: [16777215 10990]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_GreatEqual
                          left: (ArithWord w:{($ VSub_Name '$INPUT')})
                          right: (ArithWord w:{(Lit_Digits 1)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(Enable_Term_Options)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (DParen child:(ArithWord w:{($ VSub_Name '$RUN_INTRO')}))
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [(C {(Run_Intro)})]
                      spids: [16777215 11192]
                    )
                  ]
                  spids: [16777215 11198]
                )
                (Sentence
                  child: (C {(renice)} {(-n)} {(10)} {($ VSub_Dollar '$$')})
                  terminator: <Op_Amp '&'>
                )
                (SimpleCommand
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [11215]
                    )
                  ]
                )
                (While
                  cond: [(C {(true)})]
                  body: 
                    (DoGroup
                      children: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithWord
                                          w: {($ VSub_Name '$BLANK_SCREEN_AT_SPECIFIC_TIME_ENABLED')}
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(RUN_BLANK_SCREEN_AT_SPECIFIC_TIME)})]
                              spids: [16777215 11244]
                            )
                          ]
                          spids: [16777215 11252]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: (ArithWord w:{($ VSub_Name '$BLANK_SCREEN_ACTIVE')})
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(sleep)} {(60)})]
                              spids: [16777215 11270]
                            )
                          ]
                          else_action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name aEnabledScenes>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: 
                                                          (ArithWord
                                                            w: {($ VSub_Name '$SCENE_CURRENT')}
                                                          )
                                                      )
                                                    spids: [11292 11297]
                                                  )
                                                }
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(Update_Banner)})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithBinary
                                                      op_id: Arith_DEqual
                                                      left: 
                                                        (ArithWord
                                                          w: {($ VSub_Name '$SCENE_CURRENT')}
                                                        )
                                                      right: (ArithWord w:{(Lit_Digits 1)})
                                                    )
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(Update_Scene_1)} {(0)} {(1)})]
                                          spids: [16777215 11329]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithBinary
                                                      op_id: Arith_DEqual
                                                      left: 
                                                        (ArithWord
                                                          w: {($ VSub_Name '$SCENE_CURRENT')}
                                                        )
                                                      right: (ArithWord w:{(Lit_Digits 2)})
                                                    )
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(Update_Scene_1)} {(2)} {(3)})]
                                          spids: [11345 11359]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithBinary
                                                      op_id: Arith_DEqual
                                                      left: 
                                                        (ArithWord
                                                          w: {($ VSub_Name '$SCENE_CURRENT')}
                                                        )
                                                      right: (ArithWord w:{(Lit_Digits 3)})
                                                    )
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(Update_Scene_1)} {(4)} {(5)})]
                                          spids: [11375 11389]
                                        )
                                      ]
                                      else_action: [
                                        (C {(Update_Scene_) ($ VSub_Name '$SCENE_CURRENT')})
                                      ]
                                      spids: [11405 11414]
                                    )
                                    (C {(sleep)} {($ VSub_Name '$REFRESH_RATE')})
                                  ]
                                  spids: [16777215 11303]
                                )
                              ]
                              spids: [16777215 11428]
                            )
                            (DParen
                              child: 
                                (UnaryAssign
                                  op_id: Node_PostDPlus
                                  child: (LhsName name:SCENE_CURRENT)
                                )
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_GreatEqual
                                              left: (ArithWord w:{($ VSub_Name '$SCENE_CURRENT')})
                                              right: (ArithWord w:{($ VSub_Name '$MAX_SCENES')})
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:SCENE_CURRENT)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [11465]
                                        )
                                      ]
                                      spids: [11465]
                                    )
                                  ]
                                  spids: [16777215 11462]
                                )
                              ]
                              spids: [16777215 11469]
                            )
                          ]
                          spids: [11284 11474]
                        )
                      ]
                      spids: [11230 11478]
                    )
                )
              ]
              spids: [11156 11170]
            )
          ]
          spids: [16777215 11481]
        )
        (Sentence child:(C {(rm)} {(DQ ($ VSub_Name '$FP_TEMP'))}) terminator:<Op_Amp '&'>)
        (SimpleCommand
          redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[11500])]
        )
        (C {(unset)} {(aCOLOUR)})
        (C {(unset)} {(aEnabledScenes)})
        (C {(Destroy_STORAGE)})
        (ControlFlow token:<ControlFlow_Exit exit>)
      ]
      spids: [3]
    )
  ]
)