(CommandList
  children: [
    (FuncDef
      name: unique_port
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:START) op:Equal rhs:{(8192)} spids:[12])]
              spids: [12]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RANGE)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Minus
                            left: 
                              (ArithWord
                                w: 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(awk)} {(SQ <'{print $1}'>)} 
                                              {(/proc/sys/net/ipv4/ip_local_port_range)}
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [18 26]
                                    )
                                  }
                              )
                            right: (ArithWord w:{($ VSub_Name '$START')})
                          )
                        spids: [17 29]
                      )
                    }
                  spids: [16]
                )
              ]
              spids: [16]
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(Lit_Other '[')} {($ VSub_Name '$RANGE')} {(-lt)} {(8)} {(Lit_Other ']')})]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:START)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithWord
                                    w: 
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(awk)} {(SQ <'{print $2}'>)} 
                                                  {(/proc/sys/net/ipv4/ip_local_port_range)}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [50 58]
                                        )
                                      }
                                  )
                                spids: [49 59]
                              )
                            }
                          spids: [48]
                        )
                      ]
                      spids: [48]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:RANGE)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Minus
                                    left: (ArithWord w:{(Lit_Digits 65535)})
                                    right: (ArithWord w:{($ VSub_Name '$START')})
                                  )
                                spids: [63 67]
                              )
                            }
                          spids: [62]
                        )
                      ]
                      spids: [62]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(Lit_Other '[')} {($ VSub_Name '$RANGE')} {(-lt)} {(8)} {(Lit_Other ']')})
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:START)
                                  op: Equal
                                  rhs: {(16384)}
                                  spids: [86]
                                )
                              ]
                              spids: [86]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANGE)
                                  op: Equal
                                  rhs: {(32768)}
                                  spids: [90]
                                )
                              ]
                              spids: [90]
                            )
                          ]
                          spids: [16777215 83]
                        )
                      ]
                      spids: [16777215 94]
                    )
                  ]
                  spids: [16777215 45]
                )
              ]
              spids: [16777215 97]
            )
            (C {(echo)} 
              {
                (ArithSubPart
                  anode: 
                    (ArithBinary
                      op_id: Arith_Plus
                      left: 
                        (ArithBinary
                          op_id: Arith_Percent
                          left: (ArithWord w:{($ VSub_Dollar '$$')})
                          right: (ArithWord w:{($ VSub_Name '$RANGE')})
                        )
                      right: (ArithWord w:{($ VSub_Name '$START')})
                    )
                  spids: [102 110]
                )
              }
            )
          ]
          spids: [4]
        )
      spids: [0 3]
    )
  ]
)