public class android.content.pm.VerifierDeviceIdentity implements android.os.Parcelable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.content.pm.VerifierDeviceIdentity
  super_class: java.lang.Object
{
  private static final int LONG_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  private static final int GROUP_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private final long mIdentity;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String mIdentityString;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private static final char SEPARATOR;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 45

  public static final android.os.Parcelable$Creator<android.content.pm.VerifierDeviceIdentity> CREATOR;
    descriptor: Landroid/os/Parcelable$Creator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Landroid/os/Parcelable$Creator<Landroid/content/pm/VerifierDeviceIdentity;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 97
            bipush 32
            newarray 5
            dup
            iconst_0
         1: .line 98
            bipush 65
            castore
            dup
            iconst_1
            bipush 66
            castore
            dup
            iconst_2
            bipush 67
            castore
            dup
            iconst_3
            bipush 68
            castore
            dup
            iconst_4
            bipush 69
            castore
            dup
            iconst_5
            bipush 70
            castore
            dup
            bipush 6
            bipush 71
            castore
            dup
            bipush 7
            bipush 72
            castore
            dup
            bipush 8
         2: .line 99
            bipush 73
            castore
            dup
            bipush 9
            bipush 74
            castore
            dup
            bipush 10
            bipush 75
            castore
            dup
            bipush 11
            bipush 76
            castore
            dup
            bipush 12
            bipush 77
            castore
            dup
            bipush 13
            bipush 78
            castore
            dup
            bipush 14
            bipush 79
            castore
            dup
            bipush 15
            bipush 80
            castore
            dup
            bipush 16
         3: .line 100
            bipush 81
            castore
            dup
            bipush 17
            bipush 82
            castore
            dup
            bipush 18
            bipush 83
            castore
            dup
            bipush 19
            bipush 84
            castore
            dup
            bipush 20
            bipush 85
            castore
            dup
            bipush 21
            bipush 86
            castore
            dup
            bipush 22
            bipush 87
            castore
            dup
            bipush 23
            bipush 88
            castore
            dup
            bipush 24
         4: .line 101
            bipush 89
            castore
            dup
            bipush 25
            bipush 90
            castore
            dup
            bipush 26
            bipush 50
            castore
            dup
            bipush 27
            bipush 51
            castore
            dup
            bipush 28
            bipush 52
            castore
            dup
            bipush 29
            bipush 53
            castore
            dup
            bipush 30
            bipush 54
            castore
            dup
            bipush 31
            bipush 55
            castore
         5: .line 97
            putstatic android.content.pm.VerifierDeviceIdentity.ENCODE:[C
         6: .line 234
            new android.content.pm.VerifierDeviceIdentity$1
            dup
            invokespecial android.content.pm.VerifierDeviceIdentity$1.<init>:()V
         7: .line 233
            putstatic android.content.pm.VerifierDeviceIdentity.CREATOR:Landroid/os/Parcelable$Creator;
         8: .line 242
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.content.pm.VerifierDeviceIdentity this
        start local 1 // long identity
         0: .line 61
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            lload 1 /* identity */
            putfield android.content.pm.VerifierDeviceIdentity.mIdentity:J
         2: .line 63
            aload 0 /* this */
            lload 1 /* identity */
            invokestatic android.content.pm.VerifierDeviceIdentity.encodeBase32:(J)Ljava/lang/String;
            putfield android.content.pm.VerifierDeviceIdentity.mIdentityString:Ljava/lang/String;
         3: .line 64
            return
        end local 1 // long identity
        end local 0 // android.content.pm.VerifierDeviceIdentity this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Landroid/content/pm/VerifierDeviceIdentity;
            0    4     1  identity  J
    MethodParameters:
          Name  Flags
      identity  

  private void <init>(android.os.Parcel);
    descriptor: (Landroid/os/Parcel;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.content.pm.VerifierDeviceIdentity this
        start local 1 // android.os.Parcel source
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 67
            aload 1 /* source */
            invokevirtual android.os.Parcel.readLong:()J
            lstore 2 /* identity */
        start local 2 // long identity
         2: .line 69
            aload 0 /* this */
            lload 2 /* identity */
            putfield android.content.pm.VerifierDeviceIdentity.mIdentity:J
         3: .line 70
            aload 0 /* this */
            lload 2 /* identity */
            invokestatic android.content.pm.VerifierDeviceIdentity.encodeBase32:(J)Ljava/lang/String;
            putfield android.content.pm.VerifierDeviceIdentity.mIdentityString:Ljava/lang/String;
         4: .line 71
            return
        end local 2 // long identity
        end local 1 // android.os.Parcel source
        end local 0 // android.content.pm.VerifierDeviceIdentity this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Landroid/content/pm/VerifierDeviceIdentity;
            0    5     1    source  Landroid/os/Parcel;
            2    5     2  identity  J
    MethodParameters:
        Name  Flags
      source  

  public static android.content.pm.VerifierDeviceIdentity generate();
    descriptor: ()Landroid/content/pm/VerifierDeviceIdentity;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 79
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            astore 0 /* sr */
        start local 0 // java.security.SecureRandom sr
         1: .line 80
            aload 0 /* sr */
            invokestatic android.content.pm.VerifierDeviceIdentity.generate:(Ljava/util/Random;)Landroid/content/pm/VerifierDeviceIdentity;
            areturn
        end local 0 // java.security.SecureRandom sr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    2     0    sr  Ljava/security/SecureRandom;

  static android.content.pm.VerifierDeviceIdentity generate(java.util.Random);
    descriptor: (Ljava/util/Random;)Landroid/content/pm/VerifierDeviceIdentity;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.util.Random rng
         0: .line 93
            aload 0 /* rng */
            invokevirtual java.util.Random.nextLong:()J
            lstore 1 /* identity */
        start local 1 // long identity
         1: .line 94
            new android.content.pm.VerifierDeviceIdentity
            dup
            lload 1 /* identity */
            invokespecial android.content.pm.VerifierDeviceIdentity.<init>:(J)V
            areturn
        end local 1 // long identity
        end local 0 // java.util.Random rng
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0       rng  Ljava/util/Random;
            1    2     1  identity  J
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.android.internal.annotations.VisibleForTesting()
    MethodParameters:
      Name  Flags
      rng   

  private static final java.lang.String encodeBase32(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // long input
         0: .line 107
            getstatic android.content.pm.VerifierDeviceIdentity.ENCODE:[C
            astore 2 /* alphabet */
        start local 2 // char[] alphabet
         1: .line 113
            bipush 16
            newarray 5
            astore 3 /* encoded */
        start local 3 // char[] encoded
         2: .line 115
            aload 3 /* encoded */
            arraylength
            istore 4 /* index */
        start local 4 // int index
         3: .line 116
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 11
         5: .line 123
      StackMap locals: long char[] char[] int int
      StackMap stack:
            iload 5 /* i */
            ifle 7
            iload 5 /* i */
            iconst_4
            irem
            iconst_1
            if_icmpne 7
         6: .line 124
            aload 3 /* encoded */
            iinc 4 /* index */ -1
            iload 4 /* index */
            bipush 45
            castore
         7: .line 130
      StackMap locals:
      StackMap stack:
            lload 0 /* input */
            ldc 31
            land
            l2i
            istore 6 /* group */
        start local 6 // int group
         8: .line 131
            lload 0 /* input */
            iconst_5
            lushr
            lstore 0 /* input */
         9: .line 133
            aload 3 /* encoded */
            iinc 4 /* index */ -1
            iload 4 /* index */
            aload 2 /* alphabet */
            iload 6 /* group */
            caload
            castore
        end local 6 // int group
        10: .line 116
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            bipush 13
            if_icmplt 5
        end local 5 // int i
        12: .line 136
            aload 3 /* encoded */
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            areturn
        end local 4 // int index
        end local 3 // char[] encoded
        end local 2 // char[] alphabet
        end local 0 // long input
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0     input  J
            1   13     2  alphabet  [C
            2   13     3   encoded  [C
            3   13     4     index  I
            4   12     5         i  I
            8   10     6     group  I
    MethodParameters:
       Name  Flags
      input  

  private static final long decodeBase32(byte[]);
    descriptor: ([B)J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // byte[] input
         0: .line 141
            lconst_0
            lstore 1 /* output */
        start local 1 // long output
         1: .line 142
            iconst_0
            istore 3 /* numParsed */
        start local 3 // int numParsed
         2: .line 144
            aload 0 /* input */
            arraylength
            istore 4 /* N */
        start local 4 // int N
         3: .line 145
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 32
         5: .line 146
      StackMap locals: byte[] long int int int
      StackMap stack:
            aload 0 /* input */
            iload 5 /* i */
            baload
            istore 6 /* group */
        start local 6 // int group
         6: .line 153
            bipush 65
            iload 6 /* group */
            if_icmpgt 9
            iload 6 /* group */
            bipush 90
            if_icmpgt 9
         7: .line 154
            iload 6 /* group */
            bipush 65
            isub
            istore 7 /* value */
        start local 7 // int value
         8: .line 155
            goto 24
        end local 7 // int value
      StackMap locals: int
      StackMap stack:
         9: bipush 50
            iload 6 /* group */
            if_icmpgt 12
            iload 6 /* group */
            bipush 55
            if_icmpgt 12
        10: .line 156
            iload 6 /* group */
            bipush 24
            isub
            istore 7 /* value */
        start local 7 // int value
        11: .line 157
            goto 24
        end local 7 // int value
      StackMap locals:
      StackMap stack:
        12: iload 6 /* group */
            bipush 45
            if_icmpne 14
        13: .line 158
            goto 31
        14: .line 159
      StackMap locals:
      StackMap stack:
            bipush 97
            iload 6 /* group */
            if_icmpgt 17
            iload 6 /* group */
            bipush 122
            if_icmpgt 17
        15: .line 161
            iload 6 /* group */
            bipush 97
            isub
            istore 7 /* value */
        start local 7 // int value
        16: .line 162
            goto 24
        end local 7 // int value
      StackMap locals:
      StackMap stack:
        17: iload 6 /* group */
            bipush 48
            if_icmpne 20
        18: .line 164
            bipush 14
            istore 7 /* value */
        start local 7 // int value
        19: .line 165
            goto 24
        end local 7 // int value
      StackMap locals:
      StackMap stack:
        20: iload 6 /* group */
            bipush 49
            if_icmpne 23
        21: .line 167
            bipush 8
            istore 7 /* value */
        start local 7 // int value
        22: .line 168
            goto 24
        end local 7 // int value
        23: .line 169
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "base base-32 character: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* group */
            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
        start local 7 // int value
        24: .line 172
      StackMap locals: int
      StackMap stack:
            lload 1 /* output */
            iconst_5
            lshl
            iload 7 /* value */
            i2l
            lor
            lstore 1 /* output */
        25: .line 173
            iinc 3 /* numParsed */ 1
        26: .line 175
            iload 3 /* numParsed */
            iconst_1
            if_icmpne 29
        27: .line 176
            iload 7 /* value */
            bipush 15
            iand
            iload 7 /* value */
            if_icmpeq 31
        28: .line 177
            new java.lang.IllegalArgumentException
            dup
            ldc "illegal start character; will overflow"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 179
      StackMap locals:
      StackMap stack:
            iload 3 /* numParsed */
            bipush 13
            if_icmple 31
        30: .line 180
            new java.lang.IllegalArgumentException
            dup
            ldc "too long; should have 13 characters"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // int value
        end local 6 // int group
        31: .line 145
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 5 /* i */
            iload 4 /* N */
            if_icmplt 5
        end local 5 // int i
        33: .line 184
            iload 3 /* numParsed */
            bipush 13
            if_icmpeq 35
        34: .line 185
            new java.lang.IllegalArgumentException
            dup
            ldc "too short; should have 13 characters"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        35: .line 188
      StackMap locals:
      StackMap stack:
            lload 1 /* output */
            lreturn
        end local 4 // int N
        end local 3 // int numParsed
        end local 1 // long output
        end local 0 // byte[] input
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   36     0      input  [B
            1   36     1     output  J
            2   36     3  numParsed  I
            3   36     4          N  I
            4   33     5          i  I
            6   31     6      group  I
            8    9     7      value  I
           11   12     7      value  I
           16   17     7      value  I
           19   20     7      value  I
           22   23     7      value  I
           24   31     7      value  I
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
       Name  Flags
      input  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.content.pm.VerifierDeviceIdentity this
         0: .line 193
            aload 0 /* this */
            getfield android.content.pm.VerifierDeviceIdentity.mIdentity:J
            l2i
            ireturn
        end local 0 // android.content.pm.VerifierDeviceIdentity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/pm/VerifierDeviceIdentity;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.content.pm.VerifierDeviceIdentity this
        start local 1 // java.lang.Object other
         0: .line 198
            aload 1 /* other */
            instanceof android.content.pm.VerifierDeviceIdentity
            ifne 2
         1: .line 199
            iconst_0
            ireturn
         2: .line 202
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast android.content.pm.VerifierDeviceIdentity
            astore 2 /* o */
        start local 2 // android.content.pm.VerifierDeviceIdentity o
         3: .line 203
            aload 0 /* this */
            getfield android.content.pm.VerifierDeviceIdentity.mIdentity:J
            aload 2 /* o */
            getfield android.content.pm.VerifierDeviceIdentity.mIdentity:J
            lcmp
            ifne 4
            iconst_1
            ireturn
      StackMap locals: android.content.pm.VerifierDeviceIdentity
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // android.content.pm.VerifierDeviceIdentity o
        end local 1 // java.lang.Object other
        end local 0 // android.content.pm.VerifierDeviceIdentity this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Landroid/content/pm/VerifierDeviceIdentity;
            0    5     1  other  Ljava/lang/Object;
            3    5     2      o  Landroid/content/pm/VerifierDeviceIdentity;
    MethodParameters:
       Name  Flags
      other  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.content.pm.VerifierDeviceIdentity this
         0: .line 208
            aload 0 /* this */
            getfield android.content.pm.VerifierDeviceIdentity.mIdentityString:Ljava/lang/String;
            areturn
        end local 0 // android.content.pm.VerifierDeviceIdentity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/pm/VerifierDeviceIdentity;

  public static android.content.pm.VerifierDeviceIdentity parse(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/content/pm/VerifierDeviceIdentity;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String deviceIdentity
         0: .line 215
            aload 0 /* deviceIdentity */
            ldc "US-ASCII"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 1 /* input */
        start local 1 // byte[] input
         1: .line 216
            goto 4
        end local 1 // byte[] input
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
         2: pop
         3: .line 217
            new java.lang.IllegalArgumentException
            dup
            ldc "bad base-32 characters in input"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 1 // byte[] input
         4: .line 220
      StackMap locals: byte[]
      StackMap stack:
            new android.content.pm.VerifierDeviceIdentity
            dup
            aload 1 /* input */
            invokestatic android.content.pm.VerifierDeviceIdentity.decodeBase32:([B)J
            invokespecial android.content.pm.VerifierDeviceIdentity.<init>:(J)V
            areturn
        end local 1 // byte[] input
        end local 0 // java.lang.String deviceIdentity
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0  deviceIdentity  Ljava/lang/String;
            1    2     1           input  [B
            4    5     1           input  [B
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.UnsupportedEncodingException
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
                Name  Flags
      deviceIdentity  

  public int describeContents();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.content.pm.VerifierDeviceIdentity this
         0: .line 225
            iconst_0
            ireturn
        end local 0 // android.content.pm.VerifierDeviceIdentity this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/content/pm/VerifierDeviceIdentity;

  public void writeToParcel(android.os.Parcel, int);
    descriptor: (Landroid/os/Parcel;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.content.pm.VerifierDeviceIdentity this
        start local 1 // android.os.Parcel dest
        start local 2 // int flags
         0: .line 230
            aload 1 /* dest */
            aload 0 /* this */
            getfield android.content.pm.VerifierDeviceIdentity.mIdentity:J
            invokevirtual android.os.Parcel.writeLong:(J)V
         1: .line 231
            return
        end local 2 // int flags
        end local 1 // android.os.Parcel dest
        end local 0 // android.content.pm.VerifierDeviceIdentity this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/content/pm/VerifierDeviceIdentity;
            0    2     1   dest  Landroid/os/Parcel;
            0    2     2  flags  I
    MethodParameters:
       Name  Flags
      dest   
      flags  
}
SourceFile: "VerifierDeviceIdentity.java"
NestMembers:
  android.content.pm.VerifierDeviceIdentity$1
InnerClasses:
  android.content.pm.VerifierDeviceIdentity$1
  public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable