public class com.android.internal.telephony.uicc.IccUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.android.internal.telephony.uicc.IccUtils
  super_class: java.lang.Object
{
  static final java.lang.String LOG_TAG;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "IccUtils"

  private static final char[] HEX_CHARS;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 36
            bipush 16
            newarray 5
            dup
            iconst_0
         1: .line 37
            bipush 48
            castore
            dup
            iconst_1
            bipush 49
            castore
            dup
            iconst_2
            bipush 50
            castore
            dup
            iconst_3
            bipush 51
            castore
            dup
            iconst_4
            bipush 52
            castore
            dup
            iconst_5
            bipush 53
            castore
            dup
            bipush 6
            bipush 54
            castore
            dup
            bipush 7
            bipush 55
            castore
            dup
            bipush 8
            bipush 56
            castore
            dup
            bipush 9
            bipush 57
            castore
            dup
            bipush 10
            bipush 65
            castore
            dup
            bipush 11
            bipush 66
            castore
            dup
            bipush 12
            bipush 67
            castore
            dup
            bipush 13
            bipush 68
            castore
            dup
            bipush 14
            bipush 69
            castore
            dup
            bipush 15
            bipush 70
            castore
         2: .line 36
            putstatic com.android.internal.telephony.uicc.IccUtils.HEX_CHARS:[C
         3: .line 38
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.android.internal.telephony.uicc.IccUtils this
         0: .line 32
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.android.internal.telephony.uicc.IccUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/android/internal/telephony/uicc/IccUtils;

  public static java.lang.String bcdToString(byte[], int, int);
    descriptor: ([BII)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // byte[] data
        start local 1 // int offset
        start local 2 // int length
         0: .line 51
            new java.lang.StringBuilder
            dup
            iload 2 /* length */
            iconst_2
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* ret */
        start local 3 // java.lang.StringBuilder ret
         1: .line 53
            iload 1 /* offset */
            istore 4 /* i */
        start local 4 // int i
         2: goto 11
         3: .line 56
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* data */
            iload 4 /* i */
            baload
            bipush 15
            iand
            istore 5 /* v */
        start local 5 // int v
         4: .line 57
            iload 5 /* v */
            bipush 9
            if_icmple 5
            goto 12
         5: .line 58
      StackMap locals: int
      StackMap stack:
            aload 3 /* ret */
            bipush 48
            iload 5 /* v */
            iadd
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 60
            aload 0 /* data */
            iload 4 /* i */
            baload
            iconst_4
            ishr
            bipush 15
            iand
            istore 5 /* v */
         7: .line 62
            iload 5 /* v */
            bipush 15
            if_icmpne 8
            goto 10
         8: .line 63
      StackMap locals:
      StackMap stack:
            iload 5 /* v */
            bipush 9
            if_icmple 9
            goto 12
         9: .line 64
      StackMap locals:
      StackMap stack:
            aload 3 /* ret */
            bipush 48
            iload 5 /* v */
            iadd
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // int v
        10: .line 53
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            if_icmplt 3
        end local 4 // int i
        12: .line 67
      StackMap locals:
      StackMap stack:
            aload 3 /* ret */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder ret
        end local 2 // int length
        end local 1 // int offset
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    data  [B
            0   13     1  offset  I
            0   13     2  length  I
            1   13     3     ret  Ljava/lang/StringBuilder;
            2   12     4       i  I
            4   10     5       v  I
    MethodParameters:
        Name  Flags
      data    
      offset  
      length  

  public static java.lang.String bcdToString(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // byte[] data
         0: .line 74
            aload 0 /* data */
            iconst_0
            aload 0 /* data */
            arraylength
            invokestatic com.android.internal.telephony.uicc.IccUtils.bcdToString:([BII)Ljava/lang/String;
            areturn
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  data  [B
    MethodParameters:
      Name  Flags
      data  

  public static byte[] bcdToBytes(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String bcd
         0: .line 83
            aload 0 /* bcd */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            iconst_2
            idiv
            newarray 8
            astore 1 /* output */
        start local 1 // byte[] output
         1: .line 84
            aload 0 /* bcd */
            aload 1 /* output */
            invokestatic com.android.internal.telephony.uicc.IccUtils.bcdToBytes:(Ljava/lang/String;[B)V
         2: .line 85
            aload 1 /* output */
            areturn
        end local 1 // byte[] output
        end local 0 // java.lang.String bcd
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0     bcd  Ljava/lang/String;
            1    3     1  output  [B
    MethodParameters:
      Name  Flags
      bcd   

  public static void bcdToBytes(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // java.lang.String bcd
        start local 1 // byte[] bytes
         0: .line 96
            aload 0 /* bcd */
            invokevirtual java.lang.String.length:()I
            iconst_2
            irem
            ifeq 2
         1: .line 97
            new java.lang.StringBuilder
            dup
            aload 0 /* bcd */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "0"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 0 /* bcd */
         2: .line 99
      StackMap locals:
      StackMap stack:
            aload 1 /* bytes */
            arraylength
            iconst_2
            imul
            aload 0 /* bcd */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Math.min:(II)I
            istore 2 /* size */
        start local 2 // int size
         3: .line 100
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: iconst_0
            istore 4 /* j */
        start local 4 // int j
         5: goto 8
         6: .line 101
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* bytes */
            iload 4 /* j */
            aload 0 /* bcd */
            iload 3 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.android.internal.telephony.uicc.IccUtils.charToByte:(C)B
            iconst_4
            ishl
            aload 0 /* bcd */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.android.internal.telephony.uicc.IccUtils.charToByte:(C)B
            ior
            i2b
            bastore
         7: .line 100
            iinc 3 /* i */ 2
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iconst_1
            iadd
            iload 2 /* size */
            if_icmplt 6
        end local 4 // int j
        end local 3 // int i
         9: .line 103
            return
        end local 2 // int size
        end local 1 // byte[] bytes
        end local 0 // java.lang.String bcd
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0    bcd  Ljava/lang/String;
            0   10     1  bytes  [B
            3   10     2   size  I
            4    9     3      i  I
            5    9     4      j  I
    MethodParameters:
       Name  Flags
      bcd    
      bytes  

  public static java.lang.String bcdPlmnToString(byte[], int);
    descriptor: ([BI)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // byte[] data
        start local 1 // int offset
         0: .line 111
            iload 1 /* offset */
            iconst_3
            iadd
            aload 0 /* data */
            arraylength
            if_icmple 2
         1: .line 112
            aconst_null
            areturn
         2: .line 114
      StackMap locals:
      StackMap stack:
            iconst_3
            newarray 8
            astore 2 /* trans */
        start local 2 // byte[] trans
         3: .line 115
            aload 2 /* trans */
            iconst_0
            aload 0 /* data */
            iconst_0
            iload 1 /* offset */
            iadd
            baload
            iconst_4
            ishl
            aload 0 /* data */
            iconst_0
            iload 1 /* offset */
            iadd
            baload
            iconst_4
            ishr
            bipush 15
            iand
            ior
            i2b
            bastore
         4: .line 116
            aload 2 /* trans */
            iconst_1
            aload 0 /* data */
            iconst_1
            iload 1 /* offset */
            iadd
            baload
            iconst_4
            ishl
            aload 0 /* data */
            iconst_2
            iload 1 /* offset */
            iadd
            baload
            bipush 15
            iand
            ior
            i2b
            bastore
         5: .line 117
            aload 2 /* trans */
            iconst_2
            aload 0 /* data */
            iconst_2
            iload 1 /* offset */
            iadd
            baload
            sipush 240
            iand
            aload 0 /* data */
            iconst_1
            iload 1 /* offset */
            iadd
            baload
            iconst_4
            ishr
            bipush 15
            iand
            ior
            i2b
            bastore
         6: .line 118
            aload 2 /* trans */
            invokestatic com.android.internal.telephony.uicc.IccUtils.bytesToHexString:([B)Ljava/lang/String;
            astore 3 /* ret */
        start local 3 // java.lang.String ret
         7: .line 121
            aload 3 /* ret */
            ldc "F"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 9
         8: .line 122
            aload 3 /* ret */
            ldc "F"
            ldc ""
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* ret */
         9: .line 124
      StackMap locals: byte[] java.lang.String
      StackMap stack:
            aload 3 /* ret */
            areturn
        end local 3 // java.lang.String ret
        end local 2 // byte[] trans
        end local 1 // int offset
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    data  [B
            0   10     1  offset  I
            3   10     2   trans  [B
            7   10     3     ret  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      data    
      offset  

  public static java.lang.String bchToString(byte[], int, int);
    descriptor: ([BII)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // byte[] data
        start local 1 // int offset
        start local 2 // int length
         0: .line 132
            new java.lang.StringBuilder
            dup
            iload 2 /* length */
            iconst_2
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* ret */
        start local 3 // java.lang.StringBuilder ret
         1: .line 134
            iload 1 /* offset */
            istore 4 /* i */
        start local 4 // int i
         2: goto 8
         3: .line 137
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* data */
            iload 4 /* i */
            baload
            bipush 15
            iand
            istore 5 /* v */
        start local 5 // int v
         4: .line 138
            aload 3 /* ret */
            getstatic com.android.internal.telephony.uicc.IccUtils.HEX_CHARS:[C
            iload 5 /* v */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 140
            aload 0 /* data */
            iload 4 /* i */
            baload
            iconst_4
            ishr
            bipush 15
            iand
            istore 5 /* v */
         6: .line 141
            aload 3 /* ret */
            getstatic com.android.internal.telephony.uicc.IccUtils.HEX_CHARS:[C
            iload 5 /* v */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // int v
         7: .line 134
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            if_icmplt 3
        end local 4 // int i
         9: .line 144
            aload 3 /* ret */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder ret
        end local 2 // int length
        end local 1 // int offset
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    data  [B
            0   10     1  offset  I
            0   10     2  length  I
            1   10     3     ret  Ljava/lang/StringBuilder;
            2    9     4       i  I
            4    7     5       v  I
    MethodParameters:
        Name  Flags
      data    
      offset  
      length  

  public static java.lang.String cdmaBcdToString(byte[], int, int);
    descriptor: ([BII)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // byte[] data
        start local 1 // int offset
        start local 2 // int length
         0: .line 152
            new java.lang.StringBuilder
            dup
            iload 2 /* length */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* ret */
        start local 3 // java.lang.StringBuilder ret
         1: .line 154
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         2: .line 155
            iload 1 /* offset */
            istore 5 /* i */
        start local 5 // int i
         3: goto 13
         4: .line 157
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 0 /* data */
            iload 5 /* i */
            baload
            bipush 15
            iand
            istore 6 /* v */
        start local 6 // int v
         5: .line 158
            iload 6 /* v */
            bipush 9
            if_icmple 6
            iconst_0
            istore 6 /* v */
         6: .line 159
      StackMap locals: int
      StackMap stack:
            aload 3 /* ret */
            bipush 48
            iload 6 /* v */
            iadd
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 161
            iinc 4 /* count */ 1
            iload 4 /* count */
            iload 2 /* length */
            if_icmpne 8
            goto 14
         8: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            iload 5 /* i */
            baload
            iconst_4
            ishr
            bipush 15
            iand
            istore 6 /* v */
         9: .line 164
            iload 6 /* v */
            bipush 9
            if_icmple 10
            iconst_0
            istore 6 /* v */
        10: .line 165
      StackMap locals:
      StackMap stack:
            aload 3 /* ret */
            bipush 48
            iload 6 /* v */
            iadd
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        11: .line 166
            iinc 4 /* count */ 1
        end local 6 // int v
        12: .line 155
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* count */
            iload 2 /* length */
            if_icmplt 4
        end local 5 // int i
        14: .line 168
      StackMap locals:
      StackMap stack:
            aload 3 /* ret */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // int count
        end local 3 // java.lang.StringBuilder ret
        end local 2 // int length
        end local 1 // int offset
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    data  [B
            0   15     1  offset  I
            0   15     2  length  I
            1   15     3     ret  Ljava/lang/StringBuilder;
            2   15     4   count  I
            3   14     5       i  I
            5   12     6       v  I
    MethodParameters:
        Name  Flags
      data    
      offset  
      length  

  public static int gsmBcdByteToInt(byte);
    descriptor: (B)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // byte b
         0: .line 187
            iconst_0
            istore 1 /* ret */
        start local 1 // int ret
         1: .line 190
            iload 0 /* b */
            sipush 240
            iand
            sipush 144
            if_icmpgt 3
         2: .line 191
            iload 0 /* b */
            iconst_4
            ishr
            bipush 15
            iand
            istore 1 /* ret */
         3: .line 194
      StackMap locals: int
      StackMap stack:
            iload 0 /* b */
            bipush 15
            iand
            bipush 9
            if_icmpgt 5
         4: .line 195
            iload 1 /* ret */
            iload 0 /* b */
            bipush 15
            iand
            bipush 10
            imul
            iadd
            istore 1 /* ret */
         5: .line 198
      StackMap locals:
      StackMap stack:
            iload 1 /* ret */
            ireturn
        end local 1 // int ret
        end local 0 // byte b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     b  B
            1    6     1   ret  I
    MethodParameters:
      Name  Flags
      b     

  public static int cdmaBcdByteToInt(byte);
    descriptor: (B)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // byte b
         0: .line 209
            iconst_0
            istore 1 /* ret */
        start local 1 // int ret
         1: .line 212
            iload 0 /* b */
            sipush 240
            iand
            sipush 144
            if_icmpgt 3
         2: .line 213
            iload 0 /* b */
            iconst_4
            ishr
            bipush 15
            iand
            bipush 10
            imul
            istore 1 /* ret */
         3: .line 216
      StackMap locals: int
      StackMap stack:
            iload 0 /* b */
            bipush 15
            iand
            bipush 9
            if_icmpgt 5
         4: .line 217
            iload 1 /* ret */
            iload 0 /* b */
            bipush 15
            iand
            iadd
            istore 1 /* ret */
         5: .line 220
      StackMap locals:
      StackMap stack:
            iload 1 /* ret */
            ireturn
        end local 1 // int ret
        end local 0 // byte b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     b  B
            1    6     1   ret  I
    MethodParameters:
      Name  Flags
      b     

  public static java.lang.String adnStringFieldToString(byte[], int, int);
    descriptor: ([BII)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 342
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tcom.android.internal.R.string cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
        Name  Flags
      data    
      offset  
      length  

  public static int hexCharToInt(char);
    descriptor: (C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // char c
         0: .line 351
            iload 0 /* c */
            bipush 48
            if_icmplt 1
            iload 0 /* c */
            bipush 57
            if_icmpgt 1
            iload 0 /* c */
            bipush 48
            isub
            ireturn
         1: .line 352
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 65
            if_icmplt 2
            iload 0 /* c */
            bipush 70
            if_icmpgt 2
            iload 0 /* c */
            bipush 65
            isub
            bipush 10
            iadd
            ireturn
         2: .line 353
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 97
            if_icmplt 3
            iload 0 /* c */
            bipush 102
            if_icmpgt 3
            iload 0 /* c */
            bipush 97
            isub
            bipush 10
            iadd
            ireturn
         3: .line 355
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid hex char '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     c  C
    MethodParameters:
      Name  Flags
      c     

  public static byte[] hexStringToBytes(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // java.lang.String s
         0: .line 372
            aload 0 /* s */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 374
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 2 /* sz */
        start local 2 // int sz
         2: .line 376
            iload 2 /* sz */
            iconst_2
            idiv
            newarray 8
            astore 1 /* ret */
        start local 1 // byte[] ret
         3: .line 378
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 379
      StackMap locals: byte[] int int
      StackMap stack:
            aload 1 /* ret */
            iload 3 /* i */
            iconst_2
            idiv
            aload 0 /* s */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.android.internal.telephony.uicc.IccUtils.hexCharToInt:(C)I
            iconst_4
            ishl
         6: .line 380
            aload 0 /* s */
            iload 3 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.android.internal.telephony.uicc.IccUtils.hexCharToInt:(C)I
            ior
            i2b
         7: .line 379
            bastore
         8: .line 378
            iinc 3 /* i */ 2
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* sz */
            if_icmplt 5
        end local 3 // int i
        10: .line 383
            aload 1 /* ret */
            areturn
        end local 2 // int sz
        end local 1 // byte[] ret
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0     s  Ljava/lang/String;
            3   11     1   ret  [B
            2   11     2    sz  I
            4   10     3     i  I
    MethodParameters:
      Name  Flags
      s     

  public static java.lang.String bytesToHexString(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // byte[] bytes
         0: .line 396
            aload 0 /* bytes */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 398
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iconst_2
            aload 0 /* bytes */
            arraylength
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* ret */
        start local 1 // java.lang.StringBuilder ret
         2: .line 400
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 9
         4: .line 403
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            bipush 15
            aload 0 /* bytes */
            iload 2 /* i */
            baload
            iconst_4
            ishr
            iand
            istore 3 /* b */
        start local 3 // int b
         5: .line 405
            aload 1 /* ret */
            getstatic com.android.internal.telephony.uicc.IccUtils.HEX_CHARS:[C
            iload 3 /* b */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 407
            bipush 15
            aload 0 /* bytes */
            iload 2 /* i */
            baload
            iand
            istore 3 /* b */
         7: .line 409
            aload 1 /* ret */
            getstatic com.android.internal.telephony.uicc.IccUtils.HEX_CHARS:[C
            iload 3 /* b */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 3 // int b
         8: .line 400
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* bytes */
            arraylength
            if_icmplt 4
        end local 2 // int i
        10: .line 412
            aload 1 /* ret */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder ret
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0  bytes  [B
            2   11     1    ret  Ljava/lang/StringBuilder;
            3   10     2      i  I
            5    8     3      b  I
    MethodParameters:
       Name  Flags
      bytes  

  public static java.lang.String networkNameToString(byte[], int, int);
    descriptor: ([BII)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // byte[] data
        start local 1 // int offset
        start local 2 // int length
         0: .line 425
            aload 0 /* data */
            iload 1 /* offset */
            baload
            sipush 128
            iand
            sipush 128
            if_icmpne 1
            iload 2 /* length */
            iconst_1
            if_icmpge 2
         1: .line 426
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
         2: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            iload 1 /* offset */
            baload
            iconst_4
            iushr
            bipush 7
            iand
            tableswitch { // 0 - 1
                    0: 3
                    1: 7
              default: 15
          }
         3: .line 433
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            iload 1 /* offset */
            baload
            bipush 7
            iand
            istore 5 /* unusedBits */
        start local 5 // int unusedBits
         4: .line 434
            iload 2 /* length */
            iconst_1
            isub
            bipush 8
            imul
            iload 5 /* unusedBits */
            isub
            bipush 7
            idiv
            istore 4 /* countSeptets */
        start local 4 // int countSeptets
         5: .line 435
            aload 0 /* data */
            iload 1 /* offset */
            iconst_1
            iadd
            iload 4 /* countSeptets */
            invokestatic com.android.internal.telephony.GsmAlphabet.gsm7BitPackedToString:([BII)Ljava/lang/String;
            astore 3 /* ret */
        start local 3 // java.lang.String ret
         6: .line 436
            goto 16
        end local 5 // int unusedBits
        end local 4 // int countSeptets
        end local 3 // java.lang.String ret
         7: .line 440
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 0 /* data */
         8: .line 441
            iload 1 /* offset */
            iconst_1
            iadd
            iload 2 /* length */
            iconst_1
            isub
            ldc "utf-16"
         9: .line 440
            invokespecial java.lang.String.<init>:([BIILjava/lang/String;)V
            astore 3 /* ret */
        start local 3 // java.lang.String ret
        10: .line 442
            goto 16
        end local 3 // java.lang.String ret
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
        11: astore 6 /* ex */
        start local 6 // java.io.UnsupportedEncodingException ex
        12: .line 443
            ldc ""
            astore 3 /* ret */
        start local 3 // java.lang.String ret
        13: .line 444
            ldc "IccUtils"
            ldc "implausible UnsupportedEncodingException"
            aload 6 /* ex */
            invokestatic android.telephony.Rlog.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 6 // java.io.UnsupportedEncodingException ex
        14: .line 446
            goto 16
        end local 3 // java.lang.String ret
        15: .line 450
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 3 /* ret */
        start local 3 // java.lang.String ret
        16: .line 458
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* data */
            iload 1 /* offset */
            baload
            pop
        17: .line 462
            aload 3 /* ret */
            areturn
        end local 3 // java.lang.String ret
        end local 2 // int length
        end local 1 // int offset
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          data  [B
            0   18     1        offset  I
            0   18     2        length  I
            6    7     3           ret  Ljava/lang/String;
           10   11     3           ret  Ljava/lang/String;
           13   15     3           ret  Ljava/lang/String;
           16   18     3           ret  Ljava/lang/String;
            5    7     4  countSeptets  I
            4    7     5    unusedBits  I
           12   14     6            ex  Ljava/io/UnsupportedEncodingException;
      Exception table:
        from    to  target  type
           7    10      11  Class java.io.UnsupportedEncodingException
    MethodParameters:
        Name  Flags
      data    
      offset  
      length  

  public static android.graphics.Bitmap parseToBnW(byte[], int);
    descriptor: ([BI)Landroid/graphics/Bitmap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // byte[] data
        start local 1 // int length
         0: .line 472
            iconst_0
            istore 2 /* valueIndex */
        start local 2 // int valueIndex
         1: .line 473
            aload 0 /* data */
            iload 2 /* valueIndex */
            iinc 2 /* valueIndex */ 1
            baload
            sipush 255
            iand
            istore 3 /* width */
        start local 3 // int width
         2: .line 474
            aload 0 /* data */
            iload 2 /* valueIndex */
            iinc 2 /* valueIndex */ 1
            baload
            sipush 255
            iand
            istore 4 /* height */
        start local 4 // int height
         3: .line 475
            iload 3 /* width */
            iload 4 /* height */
            imul
            istore 5 /* numOfPixels */
        start local 5 // int numOfPixels
         4: .line 477
            iload 5 /* numOfPixels */
            newarray 10
            astore 6 /* pixels */
        start local 6 // int[] pixels
         5: .line 479
            iconst_0
            istore 7 /* pixelIndex */
        start local 7 // int pixelIndex
         6: .line 480
            bipush 7
            istore 8 /* bitIndex */
        start local 8 // int bitIndex
         7: .line 481
            iconst_0
            istore 9 /* currentByte */
        start local 9 // byte currentByte
         8: .line 482
            goto 13
         9: .line 484
      StackMap locals: byte[] int int int int int int[] int int int
      StackMap stack:
            iload 7 /* pixelIndex */
            bipush 8
            irem
            ifne 12
        10: .line 485
            aload 0 /* data */
            iload 2 /* valueIndex */
            iinc 2 /* valueIndex */ 1
            baload
            istore 9 /* currentByte */
        11: .line 486
            bipush 7
            istore 8 /* bitIndex */
        12: .line 488
      StackMap locals:
      StackMap stack:
            aload 6 /* pixels */
            iload 7 /* pixelIndex */
            iinc 7 /* pixelIndex */ 1
            iload 9 /* currentByte */
            iload 8 /* bitIndex */
            iinc 8 /* bitIndex */ -1
            ishr
            iconst_1
            iand
            invokestatic com.android.internal.telephony.uicc.IccUtils.bitToRGB:(I)I
            iastore
        13: .line 482
      StackMap locals:
      StackMap stack:
            iload 7 /* pixelIndex */
            iload 5 /* numOfPixels */
            if_icmplt 9
        14: .line 491
            iload 7 /* pixelIndex */
            iload 5 /* numOfPixels */
            if_icmpeq 16
        15: .line 492
            ldc "IccUtils"
            ldc "parse end and size error"
            invokestatic android.telephony.Rlog.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        16: .line 494
      StackMap locals:
      StackMap stack:
            aload 6 /* pixels */
            iload 3 /* width */
            iload 4 /* height */
            getstatic android.graphics.Bitmap$Config.ARGB_8888:Landroid/graphics/Bitmap$Config;
            invokestatic android.graphics.Bitmap.createBitmap:([IIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
            areturn
        end local 9 // byte currentByte
        end local 8 // int bitIndex
        end local 7 // int pixelIndex
        end local 6 // int[] pixels
        end local 5 // int numOfPixels
        end local 4 // int height
        end local 3 // int width
        end local 2 // int valueIndex
        end local 1 // int length
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         data  [B
            0   17     1       length  I
            1   17     2   valueIndex  I
            2   17     3        width  I
            3   17     4       height  I
            4   17     5  numOfPixels  I
            5   17     6       pixels  [I
            6   17     7   pixelIndex  I
            7   17     8     bitIndex  I
            8   17     9  currentByte  B
    MethodParameters:
        Name  Flags
      data    
      length  

  private static int bitToRGB(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int bit
         0: .line 498
            iload 0 /* bit */
            iconst_1
            if_icmpne 2
         1: .line 499
            iconst_m1
            ireturn
         2: .line 501
      StackMap locals:
      StackMap stack:
            ldc -16777216
            ireturn
        end local 0 // int bit
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   bit  I
    MethodParameters:
      Name  Flags
      bit   

  public static android.graphics.Bitmap parseToRGB(byte[], int, boolean);
    descriptor: ([BIZ)Landroid/graphics/Bitmap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // byte[] data
        start local 1 // int length
        start local 2 // boolean transparency
         0: .line 515
            iconst_0
            istore 3 /* valueIndex */
        start local 3 // int valueIndex
         1: .line 516
            aload 0 /* data */
            iload 3 /* valueIndex */
            iinc 3 /* valueIndex */ 1
            baload
            sipush 255
            iand
            istore 4 /* width */
        start local 4 // int width
         2: .line 517
            aload 0 /* data */
            iload 3 /* valueIndex */
            iinc 3 /* valueIndex */ 1
            baload
            sipush 255
            iand
            istore 5 /* height */
        start local 5 // int height
         3: .line 518
            aload 0 /* data */
            iload 3 /* valueIndex */
            iinc 3 /* valueIndex */ 1
            baload
            sipush 255
            iand
            istore 6 /* bits */
        start local 6 // int bits
         4: .line 519
            aload 0 /* data */
            iload 3 /* valueIndex */
            iinc 3 /* valueIndex */ 1
            baload
            sipush 255
            iand
            istore 7 /* colorNumber */
        start local 7 // int colorNumber
         5: .line 520
            aload 0 /* data */
            iload 3 /* valueIndex */
            iinc 3 /* valueIndex */ 1
            baload
            sipush 255
            iand
            bipush 8
            ishl
         6: .line 521
            aload 0 /* data */
            iload 3 /* valueIndex */
            iinc 3 /* valueIndex */ 1
            baload
            sipush 255
            iand
         7: .line 520
            ior
            istore 8 /* clutOffset */
        start local 8 // int clutOffset
         8: .line 523
            aload 0 /* data */
            iload 8 /* clutOffset */
            iload 7 /* colorNumber */
            invokestatic com.android.internal.telephony.uicc.IccUtils.getCLUT:([BII)[I
            astore 9 /* colorIndexArray */
        start local 9 // int[] colorIndexArray
         9: .line 524
            iload 2 /* transparency */
            ifeq 11
        10: .line 525
            aload 9 /* colorIndexArray */
            iload 7 /* colorNumber */
            iconst_1
            isub
            iconst_0
            iastore
        11: .line 528
      StackMap locals: byte[] int int int int int int int int int[]
      StackMap stack:
            aconst_null
            astore 10 /* resultArray */
        start local 10 // int[] resultArray
        12: .line 529
            bipush 8
            iload 6 /* bits */
            irem
            ifne 17
        13: .line 530
            aload 0 /* data */
            iload 3 /* valueIndex */
        14: .line 531
            iload 4 /* width */
            iload 5 /* height */
            imul
            aload 9 /* colorIndexArray */
            iload 6 /* bits */
        15: .line 530
            invokestatic com.android.internal.telephony.uicc.IccUtils.mapTo2OrderBitColor:([BII[II)[I
            astore 10 /* resultArray */
        16: .line 532
            goto 20
        17: .line 533
      StackMap locals: int[]
      StackMap stack:
            aload 0 /* data */
            iload 3 /* valueIndex */
        18: .line 534
            iload 4 /* width */
            iload 5 /* height */
            imul
            aload 9 /* colorIndexArray */
            iload 6 /* bits */
        19: .line 533
            invokestatic com.android.internal.telephony.uicc.IccUtils.mapToNon2OrderBitColor:([BII[II)[I
            astore 10 /* resultArray */
        20: .line 537
      StackMap locals:
      StackMap stack:
            aload 10 /* resultArray */
            iload 4 /* width */
            iload 5 /* height */
        21: .line 538
            getstatic android.graphics.Bitmap$Config.RGB_565:Landroid/graphics/Bitmap$Config;
        22: .line 537
            invokestatic android.graphics.Bitmap.createBitmap:([IIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
            areturn
        end local 10 // int[] resultArray
        end local 9 // int[] colorIndexArray
        end local 8 // int clutOffset
        end local 7 // int colorNumber
        end local 6 // int bits
        end local 5 // int height
        end local 4 // int width
        end local 3 // int valueIndex
        end local 2 // boolean transparency
        end local 1 // int length
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   23     0             data  [B
            0   23     1           length  I
            0   23     2     transparency  Z
            1   23     3       valueIndex  I
            2   23     4            width  I
            3   23     5           height  I
            4   23     6             bits  I
            5   23     7      colorNumber  I
            8   23     8       clutOffset  I
            9   23     9  colorIndexArray  [I
           12   23    10      resultArray  [I
    MethodParameters:
              Name  Flags
      data          
      length        
      transparency  

  private static int[] mapTo2OrderBitColor(byte[], int, int, int[], int);
    descriptor: ([BII[II)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=12, args_size=5
        start local 0 // byte[] data
        start local 1 // int valueIndex
        start local 2 // int length
        start local 3 // int[] colorArray
        start local 4 // int bits
         0: .line 543
            bipush 8
            iload 4 /* bits */
            irem
            ifeq 5
         1: .line 544
            ldc "IccUtils"
            ldc "not event number of color"
            invokestatic android.telephony.Rlog.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 545
            aload 0 /* data */
            iload 1 /* valueIndex */
            iload 2 /* length */
            aload 3 /* colorArray */
         3: .line 546
            iload 4 /* bits */
         4: .line 545
            invokestatic com.android.internal.telephony.uicc.IccUtils.mapToNon2OrderBitColor:([BII[II)[I
            areturn
         5: .line 549
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* mask */
        start local 5 // int mask
         6: .line 550
            iload 4 /* bits */
            tableswitch { // 1 - 8
                    1: 7
                    2: 9
                    3: 14
                    4: 11
                    5: 14
                    6: 14
                    7: 14
                    8: 13
              default: 14
          }
         7: .line 552
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 5 /* mask */
         8: .line 553
            goto 14
         9: .line 555
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 5 /* mask */
        10: .line 556
            goto 14
        11: .line 558
      StackMap locals:
      StackMap stack:
            bipush 15
            istore 5 /* mask */
        12: .line 559
            goto 14
        13: .line 561
      StackMap locals:
      StackMap stack:
            sipush 255
            istore 5 /* mask */
        14: .line 565
      StackMap locals:
      StackMap stack:
            iload 2 /* length */
            newarray 10
            astore 6 /* resultArray */
        start local 6 // int[] resultArray
        15: .line 566
            iconst_0
            istore 7 /* resultIndex */
        start local 7 // int resultIndex
        16: .line 567
            bipush 8
            iload 4 /* bits */
            idiv
            istore 8 /* run */
        start local 8 // int run
        17: .line 568
            goto 27
        18: .line 569
      StackMap locals: int[] int int
      StackMap stack:
            aload 0 /* data */
            iload 1 /* valueIndex */
            iinc 1 /* valueIndex */ 1
            baload
            istore 9 /* tempByte */
        start local 9 // byte tempByte
        19: .line 570
            iconst_0
            istore 10 /* runIndex */
        start local 10 // int runIndex
        20: goto 26
        21: .line 571
      StackMap locals: int int
      StackMap stack:
            iload 8 /* run */
            iload 10 /* runIndex */
            isub
            iconst_1
            isub
            istore 11 /* offset */
        start local 11 // int offset
        22: .line 572
            aload 6 /* resultArray */
            iload 7 /* resultIndex */
            iinc 7 /* resultIndex */ 1
            aload 3 /* colorArray */
            iload 9 /* tempByte */
            iload 11 /* offset */
            iload 4 /* bits */
            imul
            ishr
        23: .line 573
            iload 5 /* mask */
            iand
            iaload
        24: .line 572
            iastore
        end local 11 // int offset
        25: .line 570
            iinc 10 /* runIndex */ 1
      StackMap locals:
      StackMap stack:
        26: iload 10 /* runIndex */
            iload 8 /* run */
            if_icmplt 21
        end local 10 // int runIndex
        end local 9 // byte tempByte
        27: .line 568
      StackMap locals:
      StackMap stack:
            iload 7 /* resultIndex */
            iload 2 /* length */
            if_icmplt 18
        28: .line 576
            aload 6 /* resultArray */
            areturn
        end local 8 // int run
        end local 7 // int resultIndex
        end local 6 // int[] resultArray
        end local 5 // int mask
        end local 4 // int bits
        end local 3 // int[] colorArray
        end local 2 // int length
        end local 1 // int valueIndex
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0         data  [B
            0   29     1   valueIndex  I
            0   29     2       length  I
            0   29     3   colorArray  [I
            0   29     4         bits  I
            6   29     5         mask  I
           15   29     6  resultArray  [I
           16   29     7  resultIndex  I
           17   29     8          run  I
           19   27     9     tempByte  B
           20   27    10     runIndex  I
           22   25    11       offset  I
    MethodParameters:
            Name  Flags
      data        
      valueIndex  
      length      
      colorArray  
      bits        

  private static int[] mapToNon2OrderBitColor(byte[], int, int, int[], int);
    descriptor: ([BII[II)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // byte[] data
        start local 1 // int valueIndex
        start local 2 // int length
        start local 3 // int[] colorArray
        start local 4 // int bits
         0: .line 581
            bipush 8
            iload 4 /* bits */
            irem
            ifne 5
         1: .line 582
            ldc "IccUtils"
            ldc "not odd number of color"
            invokestatic android.telephony.Rlog.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 583
            aload 0 /* data */
            iload 1 /* valueIndex */
            iload 2 /* length */
            aload 3 /* colorArray */
         3: .line 584
            iload 4 /* bits */
         4: .line 583
            invokestatic com.android.internal.telephony.uicc.IccUtils.mapTo2OrderBitColor:([BII[II)[I
            areturn
         5: .line 587
      StackMap locals:
      StackMap stack:
            iload 2 /* length */
            newarray 10
            astore 5 /* resultArray */
        start local 5 // int[] resultArray
         6: .line 589
            aload 5 /* resultArray */
            areturn
        end local 5 // int[] resultArray
        end local 4 // int bits
        end local 3 // int[] colorArray
        end local 2 // int length
        end local 1 // int valueIndex
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         data  [B
            0    7     1   valueIndex  I
            0    7     2       length  I
            0    7     3   colorArray  [I
            0    7     4         bits  I
            6    7     5  resultArray  [I
    MethodParameters:
            Name  Flags
      data        
      valueIndex  
      length      
      colorArray  
      bits        

  private static int[] getCLUT(byte[], int, int);
    descriptor: ([BII)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // byte[] rawData
        start local 1 // int offset
        start local 2 // int number
         0: .line 593
            aload 0 /* rawData */
            ifnonnull 2
         1: .line 594
            aconst_null
            areturn
         2: .line 597
      StackMap locals:
      StackMap stack:
            iload 2 /* number */
            newarray 10
            astore 3 /* result */
        start local 3 // int[] result
         3: .line 598
            iload 1 /* offset */
            iload 2 /* number */
            iconst_3
            imul
            iadd
            istore 4 /* endIndex */
        start local 4 // int endIndex
         4: .line 599
            iload 1 /* offset */
            istore 5 /* valueIndex */
        start local 5 // int valueIndex
         5: .line 600
            iconst_0
            istore 6 /* colorIndex */
        start local 6 // int colorIndex
         6: .line 601
            ldc -16777216
            istore 7 /* alpha */
        start local 7 // int alpha
         7: .line 603
      StackMap locals: byte[] int int int[] int int int int
      StackMap stack:
            aload 3 /* result */
            iload 6 /* colorIndex */
            iinc 6 /* colorIndex */ 1
            iload 7 /* alpha */
         8: .line 604
            aload 0 /* rawData */
            iload 5 /* valueIndex */
            iinc 5 /* valueIndex */ 1
            baload
            sipush 255
            iand
            bipush 16
            ishl
            ior
         9: .line 605
            aload 0 /* rawData */
            iload 5 /* valueIndex */
            iinc 5 /* valueIndex */ 1
            baload
            sipush 255
            iand
            bipush 8
            ishl
            ior
        10: .line 606
            aload 0 /* rawData */
            iload 5 /* valueIndex */
            iinc 5 /* valueIndex */ 1
            baload
            sipush 255
            iand
            ior
        11: .line 603
            iastore
        12: .line 607
            iload 5 /* valueIndex */
            iload 4 /* endIndex */
        13: .line 602
            if_icmplt 7
        14: .line 608
            aload 3 /* result */
            areturn
        end local 7 // int alpha
        end local 6 // int colorIndex
        end local 5 // int valueIndex
        end local 4 // int endIndex
        end local 3 // int[] result
        end local 2 // int number
        end local 1 // int offset
        end local 0 // byte[] rawData
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0     rawData  [B
            0   15     1      offset  I
            0   15     2      number  I
            3   15     3      result  [I
            4   15     4    endIndex  I
            5   15     5  valueIndex  I
            6   15     6  colorIndex  I
            7   15     7       alpha  I
    MethodParameters:
         Name  Flags
      rawData  
      offset   
      number   

  public static java.lang.String getDecimalSubstring(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String iccId
         0: .line 613
            iconst_0
            istore 1 /* position */
        start local 1 // int position
         1: goto 4
         2: .line 614
      StackMap locals: int
      StackMap stack:
            aload 0 /* iccId */
            iload 1 /* position */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isDigit:(C)Z
            ifne 3
            goto 5
         3: .line 613
      StackMap locals:
      StackMap stack:
            iinc 1 /* position */ 1
      StackMap locals:
      StackMap stack:
         4: iload 1 /* position */
            aload 0 /* iccId */
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
         5: .line 616
      StackMap locals:
      StackMap stack:
            aload 0 /* iccId */
            iconst_0
            iload 1 /* position */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 1 // int position
        end local 0 // java.lang.String iccId
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0     iccId  Ljava/lang/String;
            1    6     1  position  I
    MethodParameters:
       Name  Flags
      iccId  

  public static int bytesToInt(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // byte[] src
        start local 1 // int offset
        start local 2 // int length
         0: .line 633
            iload 2 /* length */
            iconst_4
            if_icmple 4
         1: .line 634
            new java.lang.IllegalArgumentException
            dup
         2: .line 635
            new java.lang.StringBuilder
            dup
            ldc "length must be <= 4 (only 32-bit integer supported): "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 634
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 637
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            iflt 5
            iload 2 /* length */
            iflt 5
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            aload 0 /* src */
            arraylength
            if_icmple 14
         5: .line 638
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
         6: .line 639
            new java.lang.StringBuilder
            dup
            ldc "Out of the bounds: src=["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 640
            aload 0 /* src */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         8: .line 641
            ldc "], offset="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 642
            iload 1 /* offset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        10: .line 643
            ldc ", length="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 644
            iload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        12: .line 639
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 638
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 646
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* result */
        start local 3 // int result
        15: .line 647
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        16: goto 19
        17: .line 648
      StackMap locals: int int
      StackMap stack:
            iload 3 /* result */
            bipush 8
            ishl
            aload 0 /* src */
            iload 1 /* offset */
            iload 4 /* i */
            iadd
            baload
            sipush 255
            iand
            ior
            istore 3 /* result */
        18: .line 647
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            iload 2 /* length */
            if_icmplt 17
        end local 4 // int i
        20: .line 650
            iload 3 /* result */
            ifge 24
        21: .line 651
            new java.lang.IllegalArgumentException
            dup
        22: .line 652
            new java.lang.StringBuilder
            dup
            ldc "src cannot be parsed as a positive integer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* result */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 651
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 654
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // int result
        end local 2 // int length
        end local 1 // int offset
        end local 0 // byte[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   25     0     src  [B
            0   25     1  offset  I
            0   25     2  length  I
           15   25     3  result  I
           16   20     4       i  I
    MethodParameters:
        Name  Flags
      src     
      offset  
      length  

  public static long bytesToRawLong(byte[], int, int);
    descriptor: ([BII)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // byte[] src
        start local 1 // int offset
        start local 2 // int length
         0: .line 670
            iload 2 /* length */
            bipush 8
            if_icmple 4
         1: .line 671
            new java.lang.IllegalArgumentException
            dup
         2: .line 672
            new java.lang.StringBuilder
            dup
            ldc "length must be <= 8 (only 64-bit long supported): "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 671
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 674
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            iflt 5
            iload 2 /* length */
            iflt 5
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            aload 0 /* src */
            arraylength
            if_icmple 14
         5: .line 675
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
         6: .line 676
            new java.lang.StringBuilder
            dup
            ldc "Out of the bounds: src=["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 677
            aload 0 /* src */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         8: .line 678
            ldc "], offset="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 679
            iload 1 /* offset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        10: .line 680
            ldc ", length="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 681
            iload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        12: .line 676
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 675
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 683
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 3 /* result */
        start local 3 // long result
        15: .line 684
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        16: goto 19
        17: .line 685
      StackMap locals: long int
      StackMap stack:
            lload 3 /* result */
            bipush 8
            lshl
            aload 0 /* src */
            iload 1 /* offset */
            iload 5 /* i */
            iadd
            baload
            sipush 255
            iand
            i2l
            lor
            lstore 3 /* result */
        18: .line 684
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 5 /* i */
            iload 2 /* length */
            if_icmplt 17
        end local 5 // int i
        20: .line 687
            lload 3 /* result */
            lreturn
        end local 3 // long result
        end local 2 // int length
        end local 1 // int offset
        end local 0 // byte[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0     src  [B
            0   21     1  offset  I
            0   21     2  length  I
           15   21     3  result  J
           16   20     5       i  I
    MethodParameters:
        Name  Flags
      src     
      offset  
      length  

  public static byte[] unsignedIntToBytes(int);
    descriptor: (I)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // int value
         0: .line 696
            iload 0 /* value */
            ifge 2
         1: .line 697
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "value must be 0 or positive: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* value */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 699
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            invokestatic com.android.internal.telephony.uicc.IccUtils.byteNumForUnsignedInt:(I)I
            newarray 8
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         3: .line 700
            iload 0 /* value */
            aload 1 /* bytes */
            iconst_0
            invokestatic com.android.internal.telephony.uicc.IccUtils.unsignedIntToBytes:(I[BI)I
            pop
         4: .line 701
            aload 1 /* bytes */
            areturn
        end local 1 // byte[] bytes
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  value  I
            3    5     1  bytes  [B
    MethodParameters:
       Name  Flags
      value  

  public static byte[] signedIntToBytes(int);
    descriptor: (I)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // int value
         0: .line 713
            iload 0 /* value */
            ifge 2
         1: .line 714
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "value must be 0 or positive: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* value */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 716
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            invokestatic com.android.internal.telephony.uicc.IccUtils.byteNumForSignedInt:(I)I
            newarray 8
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         3: .line 717
            iload 0 /* value */
            aload 1 /* bytes */
            iconst_0
            invokestatic com.android.internal.telephony.uicc.IccUtils.signedIntToBytes:(I[BI)I
            pop
         4: .line 718
            aload 1 /* bytes */
            areturn
        end local 1 // byte[] bytes
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  value  I
            3    5     1  bytes  [B
    MethodParameters:
       Name  Flags
      value  

  public static int unsignedIntToBytes(int, byte[], int);
    descriptor: (I[BI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // int value
        start local 1 // byte[] dest
        start local 2 // int offset
         0: .line 732
            iload 0 /* value */
            aload 1 /* dest */
            iload 2 /* offset */
            iconst_0
            invokestatic com.android.internal.telephony.uicc.IccUtils.intToBytes:(I[BIZ)I
            ireturn
        end local 2 // int offset
        end local 1 // byte[] dest
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0   value  I
            0    1     1    dest  [B
            0    1     2  offset  I
    MethodParameters:
        Name  Flags
      value   
      dest    
      offset  

  public static int signedIntToBytes(int, byte[], int);
    descriptor: (I[BI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // int value
        start local 1 // byte[] dest
        start local 2 // int offset
         0: .line 745
            iload 0 /* value */
            aload 1 /* dest */
            iload 2 /* offset */
            iconst_1
            invokestatic com.android.internal.telephony.uicc.IccUtils.intToBytes:(I[BIZ)I
            ireturn
        end local 2 // int offset
        end local 1 // byte[] dest
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0   value  I
            0    1     1    dest  [B
            0    1     2  offset  I
    MethodParameters:
        Name  Flags
      value   
      dest    
      offset  

  public static int byteNumForUnsignedInt(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int value
         0: .line 755
            iload 0 /* value */
            iconst_0
            invokestatic com.android.internal.telephony.uicc.IccUtils.byteNumForInt:(IZ)I
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  I
    MethodParameters:
       Name  Flags
      value  

  public static int byteNumForSignedInt(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int value
         0: .line 767
            iload 0 /* value */
            iconst_1
            invokestatic com.android.internal.telephony.uicc.IccUtils.byteNumForInt:(IZ)I
            ireturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  I
    MethodParameters:
       Name  Flags
      value  

  private static int intToBytes(int, byte[], int, boolean);
    descriptor: (I[BIZ)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // int value
        start local 1 // byte[] dest
        start local 2 // int offset
        start local 3 // boolean signed
         0: .line 771
            iload 0 /* value */
            iload 3 /* signed */
            invokestatic com.android.internal.telephony.uicc.IccUtils.byteNumForInt:(IZ)I
            istore 4 /* l */
        start local 4 // int l
         1: .line 772
            iload 2 /* offset */
            iflt 2
            iload 2 /* offset */
            iload 4 /* l */
            iadd
            aload 1 /* dest */
            arraylength
            if_icmple 3
         2: .line 773
      StackMap locals: int
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not enough space to write. Required bytes: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* l */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 775
      StackMap locals:
      StackMap stack:
            iload 4 /* l */
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         4: iload 0 /* value */
            istore 6 /* v */
        start local 6 // int v
         5: goto 9
         6: .line 776
      StackMap locals: int int
      StackMap stack:
            iload 6 /* v */
            sipush 255
            iand
            i2b
            istore 7 /* b */
        start local 7 // byte b
         7: .line 777
            aload 1 /* dest */
            iload 2 /* offset */
            iload 5 /* i */
            iadd
            iload 7 /* b */
            bastore
        end local 7 // byte b
         8: .line 775
            iinc 5 /* i */ -1
            iload 6 /* v */
            bipush 8
            iushr
            istore 6 /* v */
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            ifge 6
        end local 6 // int v
        end local 5 // int i
        10: .line 779
            iload 4 /* l */
            ireturn
        end local 4 // int l
        end local 3 // boolean signed
        end local 2 // int offset
        end local 1 // byte[] dest
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0   value  I
            0   11     1    dest  [B
            0   11     2  offset  I
            0   11     3  signed  Z
            1   11     4       l  I
            4   10     5       i  I
            5   10     6       v  I
            7    8     7       b  B
    MethodParameters:
        Name  Flags
      value   
      dest    
      offset  
      signed  

  private static int byteNumForInt(int, boolean);
    descriptor: (IZ)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int value
        start local 1 // boolean signed
         0: .line 783
            iload 0 /* value */
            ifge 2
         1: .line 784
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "value must be 0 or positive: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* value */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 786
      StackMap locals:
      StackMap stack:
            iload 1 /* signed */
            ifeq 9
         3: .line 787
            iload 0 /* value */
            bipush 127
            if_icmpgt 5
         4: .line 788
            iconst_1
            ireturn
         5: .line 790
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            sipush 32767
            if_icmpgt 7
         6: .line 791
            iconst_2
            ireturn
         7: .line 793
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            ldc 8388607
            if_icmpgt 15
         8: .line 794
            iconst_3
            ireturn
         9: .line 797
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            sipush 255
            if_icmpgt 11
        10: .line 798
            iconst_1
            ireturn
        11: .line 800
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            ldc 65535
            if_icmpgt 13
        12: .line 801
            iconst_2
            ireturn
        13: .line 803
      StackMap locals:
      StackMap stack:
            iload 0 /* value */
            ldc 16777215
            if_icmpgt 15
        14: .line 804
            iconst_3
            ireturn
        15: .line 807
      StackMap locals:
      StackMap stack:
            iconst_4
            ireturn
        end local 1 // boolean signed
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0   value  I
            0   16     1  signed  Z
    MethodParameters:
        Name  Flags
      value   
      signed  

  public static byte countTrailingZeros(byte);
    descriptor: (B)B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // byte b
         0: .line 815
            iload 0 /* b */
            ifne 2
         1: .line 816
            bipush 8
            ireturn
         2: .line 818
      StackMap locals:
      StackMap stack:
            iload 0 /* b */
            sipush 255
            iand
            istore 1 /* v */
        start local 1 // int v
         3: .line 819
            bipush 7
            istore 2 /* c */
        start local 2 // byte c
         4: .line 820
            iload 1 /* v */
            bipush 15
            iand
            ifeq 6
         5: .line 821
            iload 2 /* c */
            iconst_4
            isub
            i2b
            istore 2 /* c */
         6: .line 823
      StackMap locals: int int
      StackMap stack:
            iload 1 /* v */
            bipush 51
            iand
            ifeq 8
         7: .line 824
            iload 2 /* c */
            iconst_2
            isub
            i2b
            istore 2 /* c */
         8: .line 826
      StackMap locals:
      StackMap stack:
            iload 1 /* v */
            bipush 85
            iand
            ifeq 10
         9: .line 827
            iload 2 /* c */
            iconst_1
            isub
            i2b
            istore 2 /* c */
        10: .line 829
      StackMap locals:
      StackMap stack:
            iload 2 /* c */
            ireturn
        end local 2 // byte c
        end local 1 // int v
        end local 0 // byte b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0     b  B
            3   11     1     v  I
            4   11     2     c  B
    MethodParameters:
      Name  Flags
      b     

  public static java.lang.String byteToHex(byte);
    descriptor: (B)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // byte b
         0: .line 836
            new java.lang.String
            dup
            iconst_2
            newarray 5
            dup
            iconst_0
            getstatic com.android.internal.telephony.uicc.IccUtils.HEX_CHARS:[C
            iload 0 /* b */
            sipush 255
            iand
            iconst_4
            iushr
            caload
            castore
            dup
            iconst_1
            getstatic com.android.internal.telephony.uicc.IccUtils.HEX_CHARS:[C
            iload 0 /* b */
            bipush 15
            iand
            caload
            castore
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 0 // byte b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     b  B
    MethodParameters:
      Name  Flags
      b     

  public static java.lang.String stripTrailingFs(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 843
            aload 0 /* s */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* s */
            ldc "(?i)f*$"
            ldc ""
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  private static byte charToByte(char);
    descriptor: (C)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 851
            iload 0 /* c */
            bipush 48
            if_icmplt 2
            iload 0 /* c */
            bipush 57
            if_icmpgt 2
         1: .line 852
            iload 0 /* c */
            bipush 48
            isub
            i2b
            ireturn
         2: .line 853
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 65
            if_icmplt 4
            iload 0 /* c */
            bipush 70
            if_icmpgt 4
         3: .line 854
            iload 0 /* c */
            bipush 55
            isub
            i2b
            ireturn
         4: .line 855
      StackMap locals:
      StackMap stack:
            iload 0 /* c */
            bipush 97
            if_icmplt 6
            iload 0 /* c */
            bipush 102
            if_icmpgt 6
         5: .line 856
            iload 0 /* c */
            bipush 87
            isub
            i2b
            ireturn
         6: .line 858
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     c  C
    MethodParameters:
      Name  Flags
      c     
}
SourceFile: "IccUtils.java"
InnerClasses:
  public final Config = android.graphics.Bitmap$Config of android.graphics.Bitmap