public class org.bouncycastle.asn1.x500.X500Name extends org.bouncycastle.asn1.ASN1Encodable implements org.bouncycastle.asn1.ASN1Choice
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.asn1.x500.X500Name
  super_class: org.bouncycastle.asn1.ASN1Encodable
{
  private static org.bouncycastle.asn1.x500.X500NameStyle defaultStyle;
    descriptor: Lorg/bouncycastle/asn1/x500/X500NameStyle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private boolean isHashCodeCalculated;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int hashCodeValue;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.bouncycastle.asn1.x500.X500NameStyle style;
    descriptor: Lorg/bouncycastle/asn1/x500/X500NameStyle;
    flags: (0x0002) ACC_PRIVATE

  private org.bouncycastle.asn1.x500.RDN[] rdns;
    descriptor: [Lorg/bouncycastle/asn1/x500/RDN;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 34
            getstatic org.bouncycastle.asn1.x500.style.BCStyle.INSTANCE:Lorg/bouncycastle/asn1/x500/X500NameStyle;
            putstatic org.bouncycastle.asn1.x500.X500Name.defaultStyle:Lorg/bouncycastle/asn1/x500/X500NameStyle;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.bouncycastle.asn1.x500.X500NameStyle, org.bouncycastle.asn1.x500.X500Name);
    descriptor: (Lorg/bouncycastle/asn1/x500/X500NameStyle;Lorg/bouncycastle/asn1/x500/X500Name;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bouncycastle.asn1.x500.X500Name this
        start local 1 // org.bouncycastle.asn1.x500.X500NameStyle style
        start local 2 // org.bouncycastle.asn1.x500.X500Name name
         0: .line 42
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.ASN1Encodable.<init>:()V
         1: .line 44
            aload 0 /* this */
            aload 2 /* name */
            getfield org.bouncycastle.asn1.x500.X500Name.rdns:[Lorg/bouncycastle/asn1/x500/RDN;
            putfield org.bouncycastle.asn1.x500.X500Name.rdns:[Lorg/bouncycastle/asn1/x500/RDN;
         2: .line 45
            aload 0 /* this */
            aload 1 /* style */
            putfield org.bouncycastle.asn1.x500.X500Name.style:Lorg/bouncycastle/asn1/x500/X500NameStyle;
         3: .line 46
            return
        end local 2 // org.bouncycastle.asn1.x500.X500Name name
        end local 1 // org.bouncycastle.asn1.x500.X500NameStyle style
        end local 0 // org.bouncycastle.asn1.x500.X500Name this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/bouncycastle/asn1/x500/X500Name;
            0    4     1  style  Lorg/bouncycastle/asn1/x500/X500NameStyle;
            0    4     2   name  Lorg/bouncycastle/asn1/x500/X500Name;
    MethodParameters:
       Name  Flags
      style  
      name   

  public static org.bouncycastle.asn1.x500.X500Name getInstance(org.bouncycastle.asn1.ASN1TaggedObject, boolean);
    descriptor: (Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/x500/X500Name;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1TaggedObject obj
        start local 1 // boolean explicit
         0: .line 60
            aload 0 /* obj */
            iconst_1
            invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/ASN1Sequence;
            invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
            areturn
        end local 1 // boolean explicit
        end local 0 // org.bouncycastle.asn1.ASN1TaggedObject obj
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0       obj  Lorg/bouncycastle/asn1/ASN1TaggedObject;
            0    1     1  explicit  Z
    MethodParameters:
          Name  Flags
      obj       
      explicit  

  public static org.bouncycastle.asn1.x500.X500Name getInstance(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 66
            aload 0 /* obj */
            instanceof org.bouncycastle.asn1.x500.X500Name
            ifeq 2
         1: .line 68
            aload 0 /* obj */
            checkcast org.bouncycastle.asn1.x500.X500Name
            areturn
         2: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            instanceof org.bouncycastle.asn1.x509.X509Name
            ifeq 4
         3: .line 72
            new org.bouncycastle.asn1.x500.X500Name
            dup
            aload 0 /* obj */
            checkcast org.bouncycastle.asn1.x509.X509Name
            invokevirtual org.bouncycastle.asn1.x509.X509Name.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            invokespecial org.bouncycastle.asn1.x500.X500Name.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
            areturn
         4: .line 74
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            ifnull 6
         5: .line 76
            new org.bouncycastle.asn1.x500.X500Name
            dup
            aload 0 /* obj */
            invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            invokespecial org.bouncycastle.asn1.x500.X500Name.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
            areturn
         6: .line 79
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  private void <init>(org.bouncycastle.asn1.ASN1Sequence);
    descriptor: (Lorg/bouncycastle/asn1/ASN1Sequence;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.asn1.x500.X500Name this
        start local 1 // org.bouncycastle.asn1.ASN1Sequence seq
         0: .line 90
            aload 0 /* this */
            getstatic org.bouncycastle.asn1.x500.X500Name.defaultStyle:Lorg/bouncycastle/asn1/x500/X500NameStyle;
            aload 1 /* seq */
            invokespecial org.bouncycastle.asn1.x500.X500Name.<init>:(Lorg/bouncycastle/asn1/x500/X500NameStyle;Lorg/bouncycastle/asn1/ASN1Sequence;)V
         1: .line 91
            return
        end local 1 // org.bouncycastle.asn1.ASN1Sequence seq
        end local 0 // org.bouncycastle.asn1.x500.X500Name this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/asn1/x500/X500Name;
            0    2     1   seq  Lorg/bouncycastle/asn1/ASN1Sequence;
    MethodParameters:
      Name  Flags
      seq   

  private void <init>(org.bouncycastle.asn1.x500.X500NameStyle, org.bouncycastle.asn1.ASN1Sequence);
    descriptor: (Lorg/bouncycastle/asn1/x500/X500NameStyle;Lorg/bouncycastle/asn1/ASN1Sequence;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.bouncycastle.asn1.x500.X500Name this
        start local 1 // org.bouncycastle.asn1.x500.X500NameStyle style
        start local 2 // org.bouncycastle.asn1.ASN1Sequence seq
         0: .line 93
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.ASN1Encodable.<init>:()V
         1: .line 97
            aload 0 /* this */
            aload 1 /* style */
            putfield org.bouncycastle.asn1.x500.X500Name.style:Lorg/bouncycastle/asn1/x500/X500NameStyle;
         2: .line 98
            aload 0 /* this */
            aload 2 /* seq */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            anewarray org.bouncycastle.asn1.x500.RDN
            putfield org.bouncycastle.asn1.x500.X500Name.rdns:[Lorg/bouncycastle/asn1/x500/RDN;
         3: .line 100
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         4: .line 102
            aload 2 /* seq */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
            astore 4 /* e */
        start local 4 // java.util.Enumeration e
         5: goto 7
         6: .line 104
      StackMap locals: org.bouncycastle.asn1.x500.X500Name org.bouncycastle.asn1.x500.X500NameStyle org.bouncycastle.asn1.ASN1Sequence int java.util.Enumeration
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.X500Name.rdns:[Lorg/bouncycastle/asn1/x500/RDN;
            iload 3 /* index */
            iinc 3 /* index */ 1
            aload 4 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            invokestatic org.bouncycastle.asn1.x500.RDN.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/RDN;
            aastore
         7: .line 102
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 6
        end local 4 // java.util.Enumeration e
         8: .line 106
            return
        end local 3 // int index
        end local 2 // org.bouncycastle.asn1.ASN1Sequence seq
        end local 1 // org.bouncycastle.asn1.x500.X500NameStyle style
        end local 0 // org.bouncycastle.asn1.x500.X500Name this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/bouncycastle/asn1/x500/X500Name;
            0    9     1  style  Lorg/bouncycastle/asn1/x500/X500NameStyle;
            0    9     2    seq  Lorg/bouncycastle/asn1/ASN1Sequence;
            4    9     3  index  I
            5    8     4      e  Ljava/util/Enumeration;
    MethodParameters:
       Name  Flags
      style  
      seq    

  public void <init>(org.bouncycastle.asn1.x500.RDN[]);
    descriptor: ([Lorg/bouncycastle/asn1/x500/RDN;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.asn1.x500.X500Name this
        start local 1 // org.bouncycastle.asn1.x500.RDN[] rDNs
         0: .line 111
            aload 0 /* this */
            getstatic org.bouncycastle.asn1.x500.X500Name.defaultStyle:Lorg/bouncycastle/asn1/x500/X500NameStyle;
            aload 1 /* rDNs */
            invokespecial org.bouncycastle.asn1.x500.X500Name.<init>:(Lorg/bouncycastle/asn1/x500/X500NameStyle;[Lorg/bouncycastle/asn1/x500/RDN;)V
         1: .line 112
            return
        end local 1 // org.bouncycastle.asn1.x500.RDN[] rDNs
        end local 0 // org.bouncycastle.asn1.x500.X500Name this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/asn1/x500/X500Name;
            0    2     1  rDNs  [Lorg/bouncycastle/asn1/x500/RDN;
    MethodParameters:
      Name  Flags
      rDNs  

  public void <init>(org.bouncycastle.asn1.x500.X500NameStyle, org.bouncycastle.asn1.x500.RDN[]);
    descriptor: (Lorg/bouncycastle/asn1/x500/X500NameStyle;[Lorg/bouncycastle/asn1/x500/RDN;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bouncycastle.asn1.x500.X500Name this
        start local 1 // org.bouncycastle.asn1.x500.X500NameStyle style
        start local 2 // org.bouncycastle.asn1.x500.RDN[] rDNs
         0: .line 114
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.ASN1Encodable.<init>:()V
         1: .line 118
            aload 0 /* this */
            aload 2 /* rDNs */
            putfield org.bouncycastle.asn1.x500.X500Name.rdns:[Lorg/bouncycastle/asn1/x500/RDN;
         2: .line 119
            aload 0 /* this */
            aload 1 /* style */
            putfield org.bouncycastle.asn1.x500.X500Name.style:Lorg/bouncycastle/asn1/x500/X500NameStyle;
         3: .line 120
            return
        end local 2 // org.bouncycastle.asn1.x500.RDN[] rDNs
        end local 1 // org.bouncycastle.asn1.x500.X500NameStyle style
        end local 0 // org.bouncycastle.asn1.x500.X500Name this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/bouncycastle/asn1/x500/X500Name;
            0    4     1  style  Lorg/bouncycastle/asn1/x500/X500NameStyle;
            0    4     2   rDNs  [Lorg/bouncycastle/asn1/x500/RDN;
    MethodParameters:
       Name  Flags
      style  
      rDNs   

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.asn1.x500.X500Name this
        start local 1 // java.lang.String dirName
         0: .line 125
            aload 0 /* this */
            getstatic org.bouncycastle.asn1.x500.X500Name.defaultStyle:Lorg/bouncycastle/asn1/x500/X500NameStyle;
            aload 1 /* dirName */
            invokespecial org.bouncycastle.asn1.x500.X500Name.<init>:(Lorg/bouncycastle/asn1/x500/X500NameStyle;Ljava/lang/String;)V
         1: .line 126
            return
        end local 1 // java.lang.String dirName
        end local 0 // org.bouncycastle.asn1.x500.X500Name this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/bouncycastle/asn1/x500/X500Name;
            0    2     1  dirName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      dirName  

  public void <init>(org.bouncycastle.asn1.x500.X500NameStyle, java.lang.String);
    descriptor: (Lorg/bouncycastle/asn1/x500/X500NameStyle;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.bouncycastle.asn1.x500.X500Name this
        start local 1 // org.bouncycastle.asn1.x500.X500NameStyle style
        start local 2 // java.lang.String dirName
         0: .line 132
            aload 0 /* this */
            aload 1 /* style */
            aload 2 /* dirName */
            invokeinterface org.bouncycastle.asn1.x500.X500NameStyle.fromString:(Ljava/lang/String;)[Lorg/bouncycastle/asn1/x500/RDN;
            invokespecial org.bouncycastle.asn1.x500.X500Name.<init>:([Lorg/bouncycastle/asn1/x500/RDN;)V
         1: .line 134
            aload 0 /* this */
            aload 1 /* style */
            putfield org.bouncycastle.asn1.x500.X500Name.style:Lorg/bouncycastle/asn1/x500/X500NameStyle;
         2: .line 135
            return
        end local 2 // java.lang.String dirName
        end local 1 // org.bouncycastle.asn1.x500.X500NameStyle style
        end local 0 // org.bouncycastle.asn1.x500.X500Name this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/bouncycastle/asn1/x500/X500Name;
            0    3     1    style  Lorg/bouncycastle/asn1/x500/X500NameStyle;
            0    3     2  dirName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      style    
      dirName  

  public org.bouncycastle.asn1.x500.RDN[] getRDNs();
    descriptor: ()[Lorg/bouncycastle/asn1/x500/RDN;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.bouncycastle.asn1.x500.X500Name this
         0: .line 144
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.X500Name.rdns:[Lorg/bouncycastle/asn1/x500/RDN;
            arraylength
            anewarray org.bouncycastle.asn1.x500.RDN
            astore 1 /* tmp */
        start local 1 // org.bouncycastle.asn1.x500.RDN[] tmp
         1: .line 146
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.X500Name.rdns:[Lorg/bouncycastle/asn1/x500/RDN;
            iconst_0
            aload 1 /* tmp */
            iconst_0
            aload 1 /* tmp */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 148
            aload 1 /* tmp */
            areturn
        end local 1 // org.bouncycastle.asn1.x500.RDN[] tmp
        end local 0 // org.bouncycastle.asn1.x500.X500Name this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/asn1/x500/X500Name;
            1    3     1   tmp  [Lorg/bouncycastle/asn1/x500/RDN;

  public org.bouncycastle.asn1.x500.RDN[] getRDNs(org.bouncycastle.asn1.ASN1ObjectIdentifier);
    descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)[Lorg/bouncycastle/asn1/x500/RDN;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.bouncycastle.asn1.x500.X500Name this
        start local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier oid
         0: .line 159
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.X500Name.rdns:[Lorg/bouncycastle/asn1/x500/RDN;
            arraylength
            anewarray org.bouncycastle.asn1.x500.RDN
            astore 2 /* res */
        start local 2 // org.bouncycastle.asn1.x500.RDN[] res
         1: .line 160
            iconst_0
            istore 3 /* count */
        start local 3 // int count
         2: .line 162
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 18
         4: .line 164
      StackMap locals: org.bouncycastle.asn1.x500.RDN[] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.X500Name.rdns:[Lorg/bouncycastle/asn1/x500/RDN;
            iload 4 /* i */
            aaload
            astore 5 /* rdn */
        start local 5 // org.bouncycastle.asn1.x500.RDN rdn
         5: .line 166
            aload 5 /* rdn */
            invokevirtual org.bouncycastle.asn1.x500.RDN.isMultiValued:()Z
            ifeq 15
         6: .line 168
            aload 5 /* rdn */
            invokevirtual org.bouncycastle.asn1.x500.RDN.getTypesAndValues:()[Lorg/bouncycastle/asn1/x500/AttributeTypeAndValue;
            astore 6 /* attr */
        start local 6 // org.bouncycastle.asn1.x500.AttributeTypeAndValue[] attr
         7: .line 169
            iconst_0
            istore 7 /* j */
        start local 7 // int j
         8: goto 13
         9: .line 171
      StackMap locals: org.bouncycastle.asn1.x500.RDN org.bouncycastle.asn1.x500.AttributeTypeAndValue[] int
      StackMap stack:
            aload 6 /* attr */
            iload 7 /* j */
            aaload
            invokevirtual org.bouncycastle.asn1.x500.AttributeTypeAndValue.getType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            aload 1 /* oid */
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 173
            aload 2 /* res */
            iload 3 /* count */
            iinc 3 /* count */ 1
            aload 5 /* rdn */
            aastore
        11: .line 174
            goto 17
        12: .line 169
      StackMap locals:
      StackMap stack:
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        13: iload 7 /* j */
            aload 6 /* attr */
            arraylength
            if_icmpne 9
        end local 7 // int j
        end local 6 // org.bouncycastle.asn1.x500.AttributeTypeAndValue[] attr
        14: .line 177
            goto 17
        15: .line 180
      StackMap locals:
      StackMap stack:
            aload 5 /* rdn */
            invokevirtual org.bouncycastle.asn1.x500.RDN.getFirst:()Lorg/bouncycastle/asn1/x500/AttributeTypeAndValue;
            invokevirtual org.bouncycastle.asn1.x500.AttributeTypeAndValue.getType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            aload 1 /* oid */
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 182
            aload 2 /* res */
            iload 3 /* count */
            iinc 3 /* count */ 1
            aload 5 /* rdn */
            aastore
        end local 5 // org.bouncycastle.asn1.x500.RDN rdn
        17: .line 162
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* i */
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.X500Name.rdns:[Lorg/bouncycastle/asn1/x500/RDN;
            arraylength
            if_icmpne 4
        end local 4 // int i
        19: .line 187
            iload 3 /* count */
            anewarray org.bouncycastle.asn1.x500.RDN
            astore 4 /* tmp */
        start local 4 // org.bouncycastle.asn1.x500.RDN[] tmp
        20: .line 189
            aload 2 /* res */
            iconst_0
            aload 4 /* tmp */
            iconst_0
            aload 4 /* tmp */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        21: .line 191
            aload 4 /* tmp */
            areturn
        end local 4 // org.bouncycastle.asn1.x500.RDN[] tmp
        end local 3 // int count
        end local 2 // org.bouncycastle.asn1.x500.RDN[] res
        end local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier oid
        end local 0 // org.bouncycastle.asn1.x500.X500Name this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   22     0   this  Lorg/bouncycastle/asn1/x500/X500Name;
            0   22     1    oid  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            1   22     2    res  [Lorg/bouncycastle/asn1/x500/RDN;
            2   22     3  count  I
            3   19     4      i  I
            5   17     5    rdn  Lorg/bouncycastle/asn1/x500/RDN;
            7   14     6   attr  [Lorg/bouncycastle/asn1/x500/AttributeTypeAndValue;
            8   14     7      j  I
           20   22     4    tmp  [Lorg/bouncycastle/asn1/x500/RDN;
    MethodParameters:
      Name  Flags
      oid   

  public org.bouncycastle.asn1.DERObject toASN1Object();
    descriptor: ()Lorg/bouncycastle/asn1/DERObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.x500.X500Name this
         0: .line 196
            new org.bouncycastle.asn1.DERSequence
            dup
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.X500Name.rdns:[Lorg/bouncycastle/asn1/x500/RDN;
            invokespecial org.bouncycastle.asn1.DERSequence.<init>:([Lorg/bouncycastle/asn1/ASN1Encodable;)V
            areturn
        end local 0 // org.bouncycastle.asn1.x500.X500Name this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/asn1/x500/X500Name;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.x500.X500Name this
         0: .line 201
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.X500Name.isHashCodeCalculated:Z
            ifeq 2
         1: .line 203
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.X500Name.hashCodeValue:I
            ireturn
         2: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.bouncycastle.asn1.x500.X500Name.isHashCodeCalculated:Z
         3: .line 208
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.X500Name.style:Lorg/bouncycastle/asn1/x500/X500NameStyle;
            aload 0 /* this */
            invokeinterface org.bouncycastle.asn1.x500.X500NameStyle.calculateHashCode:(Lorg/bouncycastle/asn1/x500/X500Name;)I
            putfield org.bouncycastle.asn1.x500.X500Name.hashCodeValue:I
         4: .line 210
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.X500Name.hashCodeValue:I
            ireturn
        end local 0 // org.bouncycastle.asn1.x500.X500Name this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/bouncycastle/asn1/x500/X500Name;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.bouncycastle.asn1.x500.X500Name this
        start local 1 // java.lang.Object obj
         0: .line 218
            aload 1 /* obj */
            aload 0 /* this */
            if_acmpne 2
         1: .line 220
            iconst_1
            ireturn
         2: .line 223
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof org.bouncycastle.asn1.x500.X500Name
            ifne 4
            aload 1 /* obj */
            instanceof org.bouncycastle.asn1.ASN1Sequence
            ifne 4
         3: .line 225
            iconst_0
            ireturn
         4: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast org.bouncycastle.asn1.DEREncodable
            invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
            astore 2 /* derO */
        start local 2 // org.bouncycastle.asn1.DERObject derO
         5: .line 230
            aload 0 /* this */
            invokevirtual org.bouncycastle.asn1.x500.X500Name.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
            aload 2 /* derO */
            invokevirtual org.bouncycastle.asn1.DERObject.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 232
            iconst_1
            ireturn
         7: .line 237
      StackMap locals: org.bouncycastle.asn1.DERObject
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.X500Name.style:Lorg/bouncycastle/asn1/x500/X500NameStyle;
            aload 0 /* this */
            new org.bouncycastle.asn1.x500.X500Name
            dup
            aload 1 /* obj */
            checkcast org.bouncycastle.asn1.DEREncodable
            invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            invokespecial org.bouncycastle.asn1.x500.X500Name.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
            invokeinterface org.bouncycastle.asn1.x500.X500NameStyle.areEqual:(Lorg/bouncycastle/asn1/x500/X500Name;Lorg/bouncycastle/asn1/x500/X500Name;)Z
         8: ireturn
         9: .line 239
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        10: .line 241
            iconst_0
            ireturn
        end local 2 // org.bouncycastle.asn1.DERObject derO
        end local 1 // java.lang.Object obj
        end local 0 // org.bouncycastle.asn1.x500.X500Name this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/bouncycastle/asn1/x500/X500Name;
            0   11     1   obj  Ljava/lang/Object;
            5   11     2  derO  Lorg/bouncycastle/asn1/DERObject;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      obj   

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.x500.X500Name this
         0: .line 247
            aload 0 /* this */
            getfield org.bouncycastle.asn1.x500.X500Name.style:Lorg/bouncycastle/asn1/x500/X500NameStyle;
            aload 0 /* this */
            invokeinterface org.bouncycastle.asn1.x500.X500NameStyle.toString:(Lorg/bouncycastle/asn1/x500/X500Name;)Ljava/lang/String;
            areturn
        end local 0 // org.bouncycastle.asn1.x500.X500Name this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/asn1/x500/X500Name;

  public static void setDefaultStyle(org.bouncycastle.asn1.x500.X500NameStyle);
    descriptor: (Lorg/bouncycastle/asn1/x500/X500NameStyle;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.x500.X500NameStyle style
         0: .line 257
            aload 0 /* style */
            ifnonnull 2
         1: .line 259
            new java.lang.NullPointerException
            dup
            ldc "cannot set style to null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* style */
            putstatic org.bouncycastle.asn1.x500.X500Name.defaultStyle:Lorg/bouncycastle/asn1/x500/X500NameStyle;
         3: .line 263
            return
        end local 0 // org.bouncycastle.asn1.x500.X500NameStyle style
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  style  Lorg/bouncycastle/asn1/x500/X500NameStyle;
    MethodParameters:
       Name  Flags
      style  

  public static org.bouncycastle.asn1.x500.X500NameStyle getDefaultStyle();
    descriptor: ()Lorg/bouncycastle/asn1/x500/X500NameStyle;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 272
            getstatic org.bouncycastle.asn1.x500.X500Name.defaultStyle:Lorg/bouncycastle/asn1/x500/X500NameStyle;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "X500Name.java"