public class sun.security.krb5.internal.PAData
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.krb5.internal.PAData
  super_class: java.lang.Object
{
  private int pADataType;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private byte[] pADataValue;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private static final byte TAG_PATYPE;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final byte TAG_PAVALUE;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.krb5.internal.PAData this
         0: .line 62
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            aconst_null
            putfield sun.security.krb5.internal.PAData.pADataValue:[B
         2: .line 63
            return
        end local 0 // sun.security.krb5.internal.PAData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/krb5/internal/PAData;

  public void <init>(int, byte[]);
    descriptor: (I[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.security.krb5.internal.PAData this
        start local 1 // int new_pADataType
        start local 2 // byte[] new_pADataValue
         0: .line 65
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            aconst_null
            putfield sun.security.krb5.internal.PAData.pADataValue:[B
         2: .line 66
            aload 0 /* this */
            iload 1 /* new_pADataType */
            putfield sun.security.krb5.internal.PAData.pADataType:I
         3: .line 67
            aload 2 /* new_pADataValue */
            ifnull 5
         4: .line 68
            aload 0 /* this */
            aload 2 /* new_pADataValue */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield sun.security.krb5.internal.PAData.pADataValue:[B
         5: .line 70
      StackMap locals: sun.security.krb5.internal.PAData int byte[]
      StackMap stack:
            return
        end local 2 // byte[] new_pADataValue
        end local 1 // int new_pADataType
        end local 0 // sun.security.krb5.internal.PAData this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lsun/security/krb5/internal/PAData;
            0    6     1   new_pADataType  I
            0    6     2  new_pADataValue  [B
    MethodParameters:
                 Name  Flags
      new_pADataType   
      new_pADataValue  

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // sun.security.krb5.internal.PAData this
         0: .line 73
            new sun.security.krb5.internal.PAData
            dup
            invokespecial sun.security.krb5.internal.PAData.<init>:()V
            astore 1 /* new_pAData */
        start local 1 // sun.security.krb5.internal.PAData new_pAData
         1: .line 74
            aload 1 /* new_pAData */
            aload 0 /* this */
            getfield sun.security.krb5.internal.PAData.pADataType:I
            putfield sun.security.krb5.internal.PAData.pADataType:I
         2: .line 75
            aload 0 /* this */
            getfield sun.security.krb5.internal.PAData.pADataValue:[B
            ifnull 7
         3: .line 76
            aload 1 /* new_pAData */
            aload 0 /* this */
            getfield sun.security.krb5.internal.PAData.pADataValue:[B
            arraylength
            newarray 8
            putfield sun.security.krb5.internal.PAData.pADataValue:[B
         4: .line 77
            aload 0 /* this */
            getfield sun.security.krb5.internal.PAData.pADataValue:[B
            iconst_0
            aload 1 /* new_pAData */
            getfield sun.security.krb5.internal.PAData.pADataValue:[B
         5: .line 78
            iconst_0
            aload 0 /* this */
            getfield sun.security.krb5.internal.PAData.pADataValue:[B
            arraylength
         6: .line 77
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 80
      StackMap locals: sun.security.krb5.internal.PAData
      StackMap stack:
            aload 1 /* new_pAData */
            areturn
        end local 1 // sun.security.krb5.internal.PAData new_pAData
        end local 0 // sun.security.krb5.internal.PAData this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lsun/security/krb5/internal/PAData;
            1    8     1  new_pAData  Lsun/security/krb5/internal/PAData;

  public void <init>(sun.security.util.DerValue);
    descriptor: (Lsun/security/util/DerValue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.krb5.internal.PAData this
        start local 1 // sun.security.util.DerValue encoding
         0: .line 89
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            aconst_null
            putfield sun.security.krb5.internal.PAData.pADataValue:[B
         2: .line 90
            aconst_null
            astore 2 /* der */
        start local 2 // sun.security.util.DerValue der
         3: .line 91
            aload 1 /* encoding */
            invokevirtual sun.security.util.DerValue.getTag:()B
            bipush 48
            if_icmpeq 5
         4: .line 92
            new sun.security.krb5.Asn1Exception
            dup
            sipush 906
            invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
            athrow
         5: .line 94
      StackMap locals: sun.security.krb5.internal.PAData sun.security.util.DerValue sun.security.util.DerValue
      StackMap stack:
            aload 1 /* encoding */
            invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 2 /* der */
         6: .line 95
            aload 2 /* der */
            invokevirtual sun.security.util.DerValue.getTag:()B
            bipush 31
            iand
            iconst_1
            if_icmpne 9
         7: .line 96
            aload 0 /* this */
            aload 2 /* der */
            invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getBigInteger:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
            putfield sun.security.krb5.internal.PAData.pADataType:I
         8: .line 97
            goto 10
         9: .line 99
      StackMap locals:
      StackMap stack:
            new sun.security.krb5.Asn1Exception
            dup
            sipush 906
            invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
            athrow
        10: .line 100
      StackMap locals:
      StackMap stack:
            aload 1 /* encoding */
            invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 2 /* der */
        11: .line 101
            aload 2 /* der */
            invokevirtual sun.security.util.DerValue.getTag:()B
            bipush 31
            iand
            iconst_2
            if_icmpne 13
        12: .line 102
            aload 0 /* this */
            aload 2 /* der */
            invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
            putfield sun.security.krb5.internal.PAData.pADataValue:[B
        13: .line 104
      StackMap locals:
      StackMap stack:
            aload 1 /* encoding */
            invokevirtual sun.security.util.DerValue.getData:()Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifle 15
        14: .line 105
            new sun.security.krb5.Asn1Exception
            dup
            sipush 906
            invokespecial sun.security.krb5.Asn1Exception.<init>:(I)V
            athrow
        15: .line 106
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.security.util.DerValue der
        end local 1 // sun.security.util.DerValue encoding
        end local 0 // sun.security.krb5.internal.PAData this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lsun/security/krb5/internal/PAData;
            0   16     1  encoding  Lsun/security/util/DerValue;
            3   16     2       der  Lsun/security/util/DerValue;
    Exceptions:
      throws sun.security.krb5.Asn1Exception, java.io.IOException
    MethodParameters:
          Name  Flags
      encoding  

  public byte[] asn1Encode();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.security.krb5.internal.PAData this
         0: .line 117
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 1 /* bytes */
        start local 1 // sun.security.util.DerOutputStream bytes
         1: .line 118
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* temp */
        start local 2 // sun.security.util.DerOutputStream temp
         2: .line 120
            aload 2 /* temp */
            aload 0 /* this */
            getfield sun.security.krb5.internal.PAData.pADataType:I
            invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
         3: .line 121
            aload 1 /* bytes */
            bipush -128
            iconst_1
            iconst_1
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
            aload 2 /* temp */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
         4: .line 122
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* temp */
         5: .line 123
            aload 2 /* temp */
            aload 0 /* this */
            getfield sun.security.krb5.internal.PAData.pADataValue:[B
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
         6: .line 124
            aload 1 /* bytes */
            bipush -128
            iconst_1
            iconst_2
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
            aload 2 /* temp */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
         7: .line 126
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* temp */
         8: .line 127
            aload 2 /* temp */
            bipush 48
            aload 1 /* bytes */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
         9: .line 128
            aload 2 /* temp */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            areturn
        end local 2 // sun.security.util.DerOutputStream temp
        end local 1 // sun.security.util.DerOutputStream bytes
        end local 0 // sun.security.krb5.internal.PAData this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lsun/security/krb5/internal/PAData;
            1   10     1  bytes  Lsun/security/util/DerOutputStream;
            2   10     2   temp  Lsun/security/util/DerOutputStream;
    Exceptions:
      throws sun.security.krb5.Asn1Exception, java.io.IOException

  public int getType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.internal.PAData this
         0: .line 133
            aload 0 /* this */
            getfield sun.security.krb5.internal.PAData.pADataType:I
            ireturn
        end local 0 // sun.security.krb5.internal.PAData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/internal/PAData;

  public byte[] getValue();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.internal.PAData this
         0: .line 137
            aload 0 /* this */
            getfield sun.security.krb5.internal.PAData.pADataValue:[B
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield sun.security.krb5.internal.PAData.pADataValue:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
      StackMap locals:
      StackMap stack: byte[]
         2: areturn
        end local 0 // sun.security.krb5.internal.PAData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/krb5/internal/PAData;

  public static sun.security.krb5.internal.PAData$SaltAndParams getSaltAndParams(int, sun.security.krb5.internal.PAData[]);
    descriptor: (I[Lsun/security/krb5/internal/PAData;)Lsun/security/krb5/internal/PAData$SaltAndParams;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // int eType
        start local 1 // sun.security.krb5.internal.PAData[] pas
         0: .line 165
            aload 1 /* pas */
            ifnull 1
            aload 1 /* pas */
            arraylength
            ifne 2
         1: .line 166
      StackMap locals:
      StackMap stack:
            new sun.security.krb5.internal.PAData$SaltAndParams
            dup
            aconst_null
            aconst_null
            invokespecial sun.security.krb5.internal.PAData$SaltAndParams.<init>:(Ljava/lang/String;[B)V
            areturn
         2: .line 169
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* paPwSalt */
        start local 2 // java.lang.String paPwSalt
         3: .line 170
            aconst_null
            astore 3 /* info2 */
        start local 3 // sun.security.krb5.internal.ETypeInfo2 info2
         4: .line 171
            aconst_null
            astore 4 /* info */
        start local 4 // sun.security.krb5.internal.ETypeInfo info
         5: .line 173
            aload 1 /* pas */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 30
      StackMap locals: int sun.security.krb5.internal.PAData[] java.lang.String sun.security.krb5.internal.ETypeInfo2 sun.security.krb5.internal.ETypeInfo top int int sun.security.krb5.internal.PAData[]
      StackMap stack:
         6: aload 8
            iload 6
            aaload
            astore 5 /* p */
        start local 5 // sun.security.krb5.internal.PAData p
         7: .line 174
            aload 5 /* p */
            invokevirtual sun.security.krb5.internal.PAData.getValue:()[B
            ifnull 29
         8: .line 176
            aload 5 /* p */
            invokevirtual sun.security.krb5.internal.PAData.getType:()I
            lookupswitch { // 3
                    3: 9
                   11: 14
                   19: 21
              default: 27
          }
         9: .line 178
      StackMap locals: int sun.security.krb5.internal.PAData[] java.lang.String sun.security.krb5.internal.ETypeInfo2 sun.security.krb5.internal.ETypeInfo sun.security.krb5.internal.PAData int int sun.security.krb5.internal.PAData[]
      StackMap stack:
            new java.lang.String
            dup
            aload 5 /* p */
            invokevirtual sun.security.krb5.internal.PAData.getValue:()[B
        10: .line 179
            getstatic sun.security.krb5.internal.util.KerberosString.MSNAME:Z
            ifeq 11
            ldc "UTF8"
            goto 12
      StackMap locals: int sun.security.krb5.internal.PAData[] java.lang.String sun.security.krb5.internal.ETypeInfo2 sun.security.krb5.internal.ETypeInfo sun.security.krb5.internal.PAData int int sun.security.krb5.internal.PAData[]
      StackMap stack: new 9 new 9 byte[]
        11: ldc "8859_1"
        12: .line 178
      StackMap locals: int sun.security.krb5.internal.PAData[] java.lang.String sun.security.krb5.internal.ETypeInfo2 sun.security.krb5.internal.ETypeInfo sun.security.krb5.internal.PAData int int sun.security.krb5.internal.PAData[]
      StackMap stack: new 9 new 9 byte[] java.lang.String
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            astore 2 /* paPwSalt */
        13: .line 180
            goto 29
        14: .line 182
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerValue
            dup
            aload 5 /* p */
            invokevirtual sun.security.krb5.internal.PAData.getValue:()[B
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 9 /* der */
        start local 9 // sun.security.util.DerValue der
        15: .line 183
            goto 19
        16: .line 184
      StackMap locals: sun.security.util.DerValue
      StackMap stack:
            aload 9 /* der */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 10 /* value */
        start local 10 // sun.security.util.DerValue value
        17: .line 185
            new sun.security.krb5.internal.ETypeInfo
            dup
            aload 10 /* value */
            invokespecial sun.security.krb5.internal.ETypeInfo.<init>:(Lsun/security/util/DerValue;)V
            astore 11 /* tmp */
        start local 11 // sun.security.krb5.internal.ETypeInfo tmp
        18: .line 186
            aload 11 /* tmp */
            invokevirtual sun.security.krb5.internal.ETypeInfo.getEType:()I
            iload 0 /* eType */
            if_icmpne 19
            aload 11 /* tmp */
            astore 4 /* info */
        end local 11 // sun.security.krb5.internal.ETypeInfo tmp
        end local 10 // sun.security.util.DerValue value
        19: .line 183
      StackMap locals:
      StackMap stack:
            aload 9 /* der */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifgt 16
        20: .line 188
            goto 29
        end local 9 // sun.security.util.DerValue der
        21: .line 190
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerValue
            dup
            aload 5 /* p */
            invokevirtual sun.security.krb5.internal.PAData.getValue:()[B
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 9 /* der */
        start local 9 // sun.security.util.DerValue der
        22: .line 191
            goto 26
        23: .line 192
      StackMap locals: sun.security.util.DerValue
      StackMap stack:
            aload 9 /* der */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 10 /* value */
        start local 10 // sun.security.util.DerValue value
        24: .line 193
            new sun.security.krb5.internal.ETypeInfo2
            dup
            aload 10 /* value */
            invokespecial sun.security.krb5.internal.ETypeInfo2.<init>:(Lsun/security/util/DerValue;)V
            astore 11 /* tmp */
        start local 11 // sun.security.krb5.internal.ETypeInfo2 tmp
        25: .line 194
            aload 11 /* tmp */
            invokevirtual sun.security.krb5.internal.ETypeInfo2.getEType:()I
            iload 0 /* eType */
            if_icmpne 26
            aload 11 /* tmp */
            astore 3 /* info2 */
        end local 11 // sun.security.krb5.internal.ETypeInfo2 tmp
        end local 10 // sun.security.util.DerValue value
        26: .line 191
      StackMap locals:
      StackMap stack:
            aload 9 /* der */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifgt 23
        end local 9 // sun.security.util.DerValue der
        27: .line 198
      StackMap locals:
      StackMap stack:
            goto 29
      StackMap locals:
      StackMap stack: java.io.IOException
        28: pop
        end local 5 // sun.security.krb5.internal.PAData p
        29: .line 173
      StackMap locals: int sun.security.krb5.internal.PAData[] java.lang.String sun.security.krb5.internal.ETypeInfo2 sun.security.krb5.internal.ETypeInfo top int int sun.security.krb5.internal.PAData[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        30: iload 6
            iload 7
            if_icmplt 6
        31: .line 203
            aload 3 /* info2 */
            ifnull 33
        32: .line 204
            new sun.security.krb5.internal.PAData$SaltAndParams
            dup
            aload 3 /* info2 */
            invokevirtual sun.security.krb5.internal.ETypeInfo2.getSalt:()Ljava/lang/String;
            aload 3 /* info2 */
            invokevirtual sun.security.krb5.internal.ETypeInfo2.getParams:()[B
            invokespecial sun.security.krb5.internal.PAData$SaltAndParams.<init>:(Ljava/lang/String;[B)V
            areturn
        33: .line 205
      StackMap locals: int sun.security.krb5.internal.PAData[] java.lang.String sun.security.krb5.internal.ETypeInfo2 sun.security.krb5.internal.ETypeInfo
      StackMap stack:
            aload 4 /* info */
            ifnull 35
        34: .line 206
            new sun.security.krb5.internal.PAData$SaltAndParams
            dup
            aload 4 /* info */
            invokevirtual sun.security.krb5.internal.ETypeInfo.getSalt:()Ljava/lang/String;
            aconst_null
            invokespecial sun.security.krb5.internal.PAData$SaltAndParams.<init>:(Ljava/lang/String;[B)V
            areturn
        35: .line 208
      StackMap locals:
      StackMap stack:
            new sun.security.krb5.internal.PAData$SaltAndParams
            dup
            aload 2 /* paPwSalt */
            aconst_null
            invokespecial sun.security.krb5.internal.PAData$SaltAndParams.<init>:(Ljava/lang/String;[B)V
            areturn
        end local 4 // sun.security.krb5.internal.ETypeInfo info
        end local 3 // sun.security.krb5.internal.ETypeInfo2 info2
        end local 2 // java.lang.String paPwSalt
        end local 1 // sun.security.krb5.internal.PAData[] pas
        end local 0 // int eType
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   36     0     eType  I
            0   36     1       pas  [Lsun/security/krb5/internal/PAData;
            3   36     2  paPwSalt  Ljava/lang/String;
            4   36     3     info2  Lsun/security/krb5/internal/ETypeInfo2;
            5   36     4      info  Lsun/security/krb5/internal/ETypeInfo;
            7   29     5         p  Lsun/security/krb5/internal/PAData;
           15   21     9       der  Lsun/security/util/DerValue;
           22   27     9       der  Lsun/security/util/DerValue;
           17   19    10     value  Lsun/security/util/DerValue;
           18   19    11       tmp  Lsun/security/krb5/internal/ETypeInfo;
           24   26    10     value  Lsun/security/util/DerValue;
           25   26    11       tmp  Lsun/security/krb5/internal/ETypeInfo2;
      Exception table:
        from    to  target  type
           8    27      28  Class java.io.IOException
    Exceptions:
      throws sun.security.krb5.Asn1Exception, sun.security.krb5.KrbException
    MethodParameters:
       Name  Flags
      eType  
      pas    
}
SourceFile: "PAData.java"
NestMembers:
  sun.security.krb5.internal.PAData$SaltAndParams
InnerClasses:
  public SaltAndParams = sun.security.krb5.internal.PAData$SaltAndParams of sun.security.krb5.internal.PAData