public final class sun.net.spi.nameservice.dns.DNSNameService implements sun.net.spi.nameservice.NameService
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.net.spi.nameservice.dns.DNSNameService
  super_class: java.lang.Object
{
  private java.util.LinkedList<java.lang.String> domainList;
    descriptor: Ljava/util/LinkedList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/LinkedList<Ljava/lang/String;>;

  private java.lang.String nameProviderUrl;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private static java.lang.ThreadLocal<java.lang.ref.SoftReference<sun.net.spi.nameservice.dns.DNSNameService$ThreadContext>> contextRef;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/lang/ThreadLocal<Ljava/lang/ref/SoftReference<Lsun/net/spi/nameservice/dns/DNSNameService$ThreadContext;>;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 45
            ldc Lsun/net/spi/nameservice/dns/DNSNameService;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.net.spi.nameservice.dns.DNSNameService.$assertionsDisabled:Z
         3: .line 55
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
         4: .line 54
            putstatic sun.net.spi.nameservice.dns.DNSNameService.contextRef:Ljava/lang/ThreadLocal;
         5: .line 55
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private javax.naming.directory.DirContext getTemporaryContext();
    descriptor: ()Ljavax/naming/directory/DirContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // sun.net.spi.nameservice.dns.DNSNameService this
         0: .line 78
            getstatic sun.net.spi.nameservice.dns.DNSNameService.contextRef:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.lang.ref.SoftReference
            astore 1 /* ref */
        start local 1 // java.lang.ref.SoftReference ref
         1: .line 79
            aconst_null
            astore 2 /* thrCtxt */
        start local 2 // sun.net.spi.nameservice.dns.DNSNameService$ThreadContext thrCtxt
         2: .line 80
            aconst_null
            astore 3 /* nsList */
        start local 3 // java.util.List nsList
         3: .line 84
            aload 0 /* this */
            getfield sun.net.spi.nameservice.dns.DNSNameService.nameProviderUrl:Ljava/lang/String;
            ifnonnull 5
         4: .line 85
            invokestatic sun.net.dns.ResolverConfiguration.open:()Lsun/net/dns/ResolverConfiguration;
            invokevirtual sun.net.dns.ResolverConfiguration.nameservers:()Ljava/util/List;
            astore 3 /* nsList */
         5: .line 91
      StackMap locals: java.lang.ref.SoftReference sun.net.spi.nameservice.dns.DNSNameService$ThreadContext java.util.List
      StackMap stack:
            aload 1 /* ref */
            ifnull 9
            aload 1 /* ref */
            invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
            checkcast sun.net.spi.nameservice.dns.DNSNameService$ThreadContext
            dup
            astore 2 /* thrCtxt */
            ifnull 9
         6: .line 92
            aload 0 /* this */
            getfield sun.net.spi.nameservice.dns.DNSNameService.nameProviderUrl:Ljava/lang/String;
            ifnonnull 9
         7: .line 93
            aload 2 /* thrCtxt */
            invokevirtual sun.net.spi.nameservice.dns.DNSNameService$ThreadContext.nameservers:()Ljava/util/List;
            aload 3 /* nsList */
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 95
            aconst_null
            astore 2 /* thrCtxt */
         9: .line 101
      StackMap locals:
      StackMap stack:
            aload 2 /* thrCtxt */
            ifnonnull 27
        10: .line 102
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            astore 4 /* env */
        start local 4 // java.util.Hashtable env
        11: .line 103
            aload 4 /* env */
            ldc "java.naming.factory.initial"
        12: .line 104
            ldc "com.sun.jndi.dns.DnsContextFactory"
        13: .line 103
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 109
            aload 0 /* this */
            getfield sun.net.spi.nameservice.dns.DNSNameService.nameProviderUrl:Ljava/lang/String;
            astore 5 /* provUrl */
        start local 5 // java.lang.String provUrl
        15: .line 110
            aload 5 /* provUrl */
            ifnonnull 19
        16: .line 111
            aload 3 /* nsList */
            invokestatic sun.net.spi.nameservice.dns.DNSNameService.createProviderURL:(Ljava/util/List;)Ljava/lang/String;
            astore 5 /* provUrl */
        17: .line 112
            aload 5 /* provUrl */
            invokevirtual java.lang.String.length:()I
            ifne 19
        18: .line 113
            new java.lang.RuntimeException
            dup
            ldc "bad nameserver configuration"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 116
      StackMap locals: java.util.Hashtable java.lang.String
      StackMap stack:
            aload 4 /* env */
            ldc "java.naming.provider.url"
            aload 5 /* provUrl */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 124
            new sun.net.spi.nameservice.dns.DNSNameService$1
            dup
            aload 0 /* this */
            aload 4 /* env */
            invokespecial sun.net.spi.nameservice.dns.DNSNameService$1.<init>:(Lsun/net/spi/nameservice/dns/DNSNameService;Ljava/util/Hashtable;)V
        21: .line 123
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast javax.naming.directory.DirContext
            astore 6 /* dirCtxt */
        start local 6 // javax.naming.directory.DirContext dirCtxt
        22: .line 136
            goto 25
        end local 6 // javax.naming.directory.DirContext dirCtxt
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
        23: astore 7 /* pae */
        start local 7 // java.security.PrivilegedActionException pae
        24: .line 137
            aload 7 /* pae */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            checkcast javax.naming.NamingException
            athrow
        end local 7 // java.security.PrivilegedActionException pae
        start local 6 // javax.naming.directory.DirContext dirCtxt
        25: .line 142
      StackMap locals: javax.naming.directory.DirContext
      StackMap stack:
            new sun.net.spi.nameservice.dns.DNSNameService$ThreadContext
            dup
            aload 6 /* dirCtxt */
            aload 3 /* nsList */
            invokespecial sun.net.spi.nameservice.dns.DNSNameService$ThreadContext.<init>:(Ljavax/naming/directory/DirContext;Ljava/util/List;)V
            astore 2 /* thrCtxt */
        26: .line 143
            getstatic sun.net.spi.nameservice.dns.DNSNameService.contextRef:Ljava/lang/ThreadLocal;
            new java.lang.ref.SoftReference
            dup
            aload 2 /* thrCtxt */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        end local 6 // javax.naming.directory.DirContext dirCtxt
        end local 5 // java.lang.String provUrl
        end local 4 // java.util.Hashtable env
        27: .line 146
      StackMap locals:
      StackMap stack:
            aload 2 /* thrCtxt */
            invokevirtual sun.net.spi.nameservice.dns.DNSNameService$ThreadContext.dirContext:()Ljavax/naming/directory/DirContext;
            areturn
        end local 3 // java.util.List nsList
        end local 2 // sun.net.spi.nameservice.dns.DNSNameService$ThreadContext thrCtxt
        end local 1 // java.lang.ref.SoftReference ref
        end local 0 // sun.net.spi.nameservice.dns.DNSNameService this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   28     0     this  Lsun/net/spi/nameservice/dns/DNSNameService;
            1   28     1      ref  Ljava/lang/ref/SoftReference<Lsun/net/spi/nameservice/dns/DNSNameService$ThreadContext;>;
            2   28     2  thrCtxt  Lsun/net/spi/nameservice/dns/DNSNameService$ThreadContext;
            3   28     3   nsList  Ljava/util/List<Ljava/lang/String;>;
           11   27     4      env  Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
           15   27     5  provUrl  Ljava/lang/String;
           22   23     6  dirCtxt  Ljavax/naming/directory/DirContext;
           25   27     6  dirCtxt  Ljavax/naming/directory/DirContext;
           24   25     7      pae  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
          20    22      23  Class java.security.PrivilegedActionException
    Exceptions:
      throws javax.naming.NamingException

  private java.util.ArrayList<java.lang.String> resolve(javax.naming.directory.DirContext, java.lang.String, java.lang.String[], int);
    descriptor: (Ljavax/naming/directory/DirContext;Ljava/lang/String;[Ljava/lang/String;I)Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=14, args_size=5
        start local 0 // sun.net.spi.nameservice.dns.DNSNameService this
        start local 1 // javax.naming.directory.DirContext ctx
        start local 2 // java.lang.String name
        start local 3 // java.lang.String[] ids
        start local 4 // int depth
         0: .line 168
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* results */
        start local 5 // java.util.ArrayList results
         1: .line 174
            new sun.net.spi.nameservice.dns.DNSNameService$2
            dup
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* name */
            aload 3 /* ids */
            invokespecial sun.net.spi.nameservice.dns.DNSNameService$2.<init>:(Lsun/net/spi/nameservice/dns/DNSNameService;Ljavax/naming/directory/DirContext;Ljava/lang/String;[Ljava/lang/String;)V
         2: .line 173
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast javax.naming.directory.Attributes
            astore 6 /* attrs */
        start local 6 // javax.naming.directory.Attributes attrs
         3: .line 179
            goto 6
        end local 6 // javax.naming.directory.Attributes attrs
      StackMap locals: sun.net.spi.nameservice.dns.DNSNameService javax.naming.directory.DirContext java.lang.String java.lang.String[] int java.util.ArrayList
      StackMap stack: java.security.PrivilegedActionException
         4: astore 7 /* pae */
        start local 7 // java.security.PrivilegedActionException pae
         5: .line 180
            new java.net.UnknownHostException
            dup
            aload 7 /* pae */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.net.UnknownHostException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.security.PrivilegedActionException pae
        start local 6 // javax.naming.directory.Attributes attrs
         6: .line 184
      StackMap locals: javax.naming.directory.Attributes
      StackMap stack:
            aload 6 /* attrs */
            invokeinterface javax.naming.directory.Attributes.getAll:()Ljavax/naming/NamingEnumeration;
            astore 7 /* ne */
        start local 7 // javax.naming.NamingEnumeration ne
         7: .line 185
            aload 7 /* ne */
            invokeinterface javax.naming.NamingEnumeration.hasMoreElements:()Z
            ifne 9
         8: .line 186
            new java.net.UnknownHostException
            dup
            ldc "DNS record not found"
            invokespecial java.net.UnknownHostException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 190
      StackMap locals: javax.naming.NamingEnumeration
      StackMap stack:
            aconst_null
            astore 8 /* uhe */
        start local 8 // java.net.UnknownHostException uhe
        10: .line 192
            goto 27
        11: .line 193
      StackMap locals: java.net.UnknownHostException
      StackMap stack:
            aload 7 /* ne */
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            checkcast javax.naming.directory.Attribute
            astore 9 /* attr */
        start local 9 // javax.naming.directory.Attribute attr
        12: .line 194
            aload 9 /* attr */
            invokeinterface javax.naming.directory.Attribute.getID:()Ljava/lang/String;
            astore 10 /* attrID */
        start local 10 // java.lang.String attrID
        13: .line 196
            aload 9 /* attr */
            invokeinterface javax.naming.directory.Attribute.getAll:()Ljavax/naming/NamingEnumeration;
            astore 11 /* e */
        start local 11 // javax.naming.NamingEnumeration e
        14: goto 26
        15: .line 197
      StackMap locals: javax.naming.directory.Attribute java.lang.String javax.naming.NamingEnumeration
      StackMap stack:
            aload 11 /* e */
            invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 12 /* addr */
        start local 12 // java.lang.String addr
        16: .line 202
            aload 10 /* attrID */
            ldc "CNAME"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        17: .line 203
            iload 4 /* depth */
            iconst_4
            if_icmple 19
        18: .line 204
            new java.net.UnknownHostException
            dup
            new java.lang.StringBuilder
            dup
            aload 2 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": possible CNAME loop"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.net.UnknownHostException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 207
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* results */
            aload 0 /* this */
            aload 1 /* ctx */
            aload 12 /* addr */
            aload 3 /* ids */
            iload 4 /* depth */
            iconst_1
            iadd
            invokevirtual sun.net.spi.nameservice.dns.DNSNameService.resolve:(Ljavax/naming/directory/DirContext;Ljava/lang/String;[Ljava/lang/String;I)Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
        20: .line 208
            goto 26
      StackMap locals:
      StackMap stack: java.net.UnknownHostException
        21: astore 13 /* x */
        start local 13 // java.net.UnknownHostException x
        22: .line 210
            aload 8 /* uhe */
            ifnonnull 26
        23: .line 211
            aload 13 /* x */
            astore 8 /* uhe */
        end local 13 // java.net.UnknownHostException x
        24: .line 213
            goto 26
        25: .line 214
      StackMap locals:
      StackMap stack:
            aload 5 /* results */
            aload 12 /* addr */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // java.lang.String addr
        26: .line 196
      StackMap locals:
      StackMap stack:
            aload 11 /* e */
            invokeinterface javax.naming.NamingEnumeration.hasMoreElements:()Z
            ifne 15
        end local 11 // javax.naming.NamingEnumeration e
        end local 10 // java.lang.String attrID
        end local 9 // javax.naming.directory.Attribute attr
        27: .line 192
      StackMap locals:
      StackMap stack:
            aload 7 /* ne */
            invokeinterface javax.naming.NamingEnumeration.hasMoreElements:()Z
            ifne 11
        28: .line 218
            goto 31
      StackMap locals:
      StackMap stack: javax.naming.NamingException
        29: astore 9 /* nx */
        start local 9 // javax.naming.NamingException nx
        30: .line 219
            new java.net.UnknownHostException
            dup
            aload 9 /* nx */
            invokevirtual javax.naming.NamingException.getMessage:()Ljava/lang/String;
            invokespecial java.net.UnknownHostException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // javax.naming.NamingException nx
        31: .line 223
      StackMap locals:
      StackMap stack:
            aload 5 /* results */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifeq 33
            aload 8 /* uhe */
            ifnull 33
        32: .line 224
            aload 8 /* uhe */
            athrow
        33: .line 227
      StackMap locals:
      StackMap stack:
            aload 5 /* results */
            areturn
        end local 8 // java.net.UnknownHostException uhe
        end local 7 // javax.naming.NamingEnumeration ne
        end local 6 // javax.naming.directory.Attributes attrs
        end local 5 // java.util.ArrayList results
        end local 4 // int depth
        end local 3 // java.lang.String[] ids
        end local 2 // java.lang.String name
        end local 1 // javax.naming.directory.DirContext ctx
        end local 0 // sun.net.spi.nameservice.dns.DNSNameService this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0     this  Lsun/net/spi/nameservice/dns/DNSNameService;
            0   34     1      ctx  Ljavax/naming/directory/DirContext;
            0   34     2     name  Ljava/lang/String;
            0   34     3      ids  [Ljava/lang/String;
            0   34     4    depth  I
            1   34     5  results  Ljava/util/ArrayList<Ljava/lang/String;>;
            3    4     6    attrs  Ljavax/naming/directory/Attributes;
            6   34     6    attrs  Ljavax/naming/directory/Attributes;
            5    6     7      pae  Ljava/security/PrivilegedActionException;
            7   34     7       ne  Ljavax/naming/NamingEnumeration<+Ljavax/naming/directory/Attribute;>;
           10   34     8      uhe  Ljava/net/UnknownHostException;
           12   27     9     attr  Ljavax/naming/directory/Attribute;
           13   27    10   attrID  Ljava/lang/String;
           14   27    11        e  Ljavax/naming/NamingEnumeration<*>;
           16   26    12     addr  Ljava/lang/String;
           22   24    13        x  Ljava/net/UnknownHostException;
           30   31     9       nx  Ljavax/naming/NamingException;
      Exception table:
        from    to  target  type
           1     3       4  Class java.security.PrivilegedActionException
          19    20      21  Class java.net.UnknownHostException
          10    28      29  Class javax.naming.NamingException
    Exceptions:
      throws java.net.UnknownHostException
    Signature: (Ljavax/naming/directory/DirContext;Ljava/lang/String;[Ljava/lang/String;I)Ljava/util/ArrayList<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      ctx    final
      name   final
      ids    final
      depth  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // sun.net.spi.nameservice.dns.DNSNameService this
         0: .line 230
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 48
            aload 0 /* this */
            aconst_null
            putfield sun.net.spi.nameservice.dns.DNSNameService.domainList:Ljava/util/LinkedList;
         2: .line 51
            aload 0 /* this */
            aconst_null
            putfield sun.net.spi.nameservice.dns.DNSNameService.nameProviderUrl:Ljava/lang/String;
         3: .line 234
            new sun.security.action.GetPropertyAction
            dup
            ldc "sun.net.spi.nameservice.domain"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         4: .line 233
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* domain */
        start local 1 // java.lang.String domain
         5: .line 235
            aload 1 /* domain */
            ifnull 8
            aload 1 /* domain */
            invokevirtual java.lang.String.length:()I
            ifle 8
         6: .line 236
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield sun.net.spi.nameservice.dns.DNSNameService.domainList:Ljava/util/LinkedList;
         7: .line 237
            aload 0 /* this */
            getfield sun.net.spi.nameservice.dns.DNSNameService.domainList:Ljava/util/LinkedList;
            aload 1 /* domain */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 242
      StackMap locals: sun.net.spi.nameservice.dns.DNSNameService java.lang.String
      StackMap stack:
            new sun.security.action.GetPropertyAction
            dup
            ldc "sun.net.spi.nameservice.nameservers"
            invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
         9: .line 241
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* nameservers */
        start local 2 // java.lang.String nameservers
        10: .line 243
            aload 2 /* nameservers */
            ifnull 14
            aload 2 /* nameservers */
            invokevirtual java.lang.String.length:()I
            ifle 14
        11: .line 244
            aload 0 /* this */
            aload 2 /* nameservers */
            invokestatic sun.net.spi.nameservice.dns.DNSNameService.createProviderURL:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.net.spi.nameservice.dns.DNSNameService.nameProviderUrl:Ljava/lang/String;
        12: .line 245
            aload 0 /* this */
            getfield sun.net.spi.nameservice.dns.DNSNameService.nameProviderUrl:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 27
        13: .line 246
            new java.lang.RuntimeException
            dup
            ldc "malformed nameservers property"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 254
      StackMap locals: java.lang.String
      StackMap stack:
            invokestatic sun.net.dns.ResolverConfiguration.open:()Lsun/net/dns/ResolverConfiguration;
            invokevirtual sun.net.dns.ResolverConfiguration.nameservers:()Ljava/util/List;
            astore 3 /* nsList */
        start local 3 // java.util.List nsList
        15: .line 255
            aload 3 /* nsList */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 17
        16: .line 256
            new java.lang.RuntimeException
            dup
            ldc "no nameservers provided"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 258
      StackMap locals: java.util.List
      StackMap stack:
            iconst_0
            istore 4 /* found */
        start local 4 // boolean found
        18: .line 259
            aload 3 /* nsList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 24
      StackMap locals: sun.net.spi.nameservice.dns.DNSNameService java.lang.String java.lang.String java.util.List int top java.util.Iterator
      StackMap stack:
        19: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* addr */
        start local 5 // java.lang.String addr
        20: .line 260
            aload 5 /* addr */
            invokestatic sun.net.util.IPAddressUtil.isIPv4LiteralAddress:(Ljava/lang/String;)Z
            ifne 22
        21: .line 261
            aload 5 /* addr */
            invokestatic sun.net.util.IPAddressUtil.isIPv6LiteralAddress:(Ljava/lang/String;)Z
            ifeq 24
        22: .line 262
      StackMap locals: sun.net.spi.nameservice.dns.DNSNameService java.lang.String java.lang.String java.util.List int java.lang.String java.util.Iterator
      StackMap stack:
            iconst_1
            istore 4 /* found */
        23: .line 263
            goto 25
        end local 5 // java.lang.String addr
        24: .line 259
      StackMap locals: sun.net.spi.nameservice.dns.DNSNameService java.lang.String java.lang.String java.util.List int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        25: .line 266
      StackMap locals: sun.net.spi.nameservice.dns.DNSNameService java.lang.String java.lang.String java.util.List int
      StackMap stack:
            iload 4 /* found */
            ifne 27
        26: .line 267
            new java.lang.RuntimeException
            dup
            ldc "bad nameserver configuration"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // boolean found
        end local 3 // java.util.List nsList
        27: .line 270
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String nameservers
        end local 1 // java.lang.String domain
        end local 0 // sun.net.spi.nameservice.dns.DNSNameService this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   28     0         this  Lsun/net/spi/nameservice/dns/DNSNameService;
            5   28     1       domain  Ljava/lang/String;
           10   28     2  nameservers  Ljava/lang/String;
           15   27     3       nsList  Ljava/util/List<Ljava/lang/String;>;
           18   27     4        found  Z
           20   24     5         addr  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception

  public java.net.InetAddress[] lookupAllHostAddr(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/net/InetAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // sun.net.spi.nameservice.dns.DNSNameService this
        start local 1 // java.lang.String host
         0: .line 275
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "A"
            aastore
            dup
            iconst_1
            ldc "AAAA"
            aastore
            dup
            iconst_2
            ldc "CNAME"
            aastore
            astore 2 /* ids */
        start local 2 // java.lang.String[] ids
         1: .line 280
            aload 0 /* this */
            invokevirtual sun.net.spi.nameservice.dns.DNSNameService.getTemporaryContext:()Ljavax/naming/directory/DirContext;
            astore 3 /* ctx */
        start local 3 // javax.naming.directory.DirContext ctx
         2: .line 281
            goto 5
        end local 3 // javax.naming.directory.DirContext ctx
      StackMap locals: sun.net.spi.nameservice.dns.DNSNameService java.lang.String java.lang.String[]
      StackMap stack: javax.naming.NamingException
         3: astore 4 /* nx */
        start local 4 // javax.naming.NamingException nx
         4: .line 282
            new java.lang.Error
            dup
            aload 4 /* nx */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // javax.naming.NamingException nx
        start local 3 // javax.naming.directory.DirContext ctx
         5: .line 285
      StackMap locals: javax.naming.directory.DirContext
      StackMap stack:
            aconst_null
            astore 4 /* results */
        start local 4 // java.util.ArrayList results
         6: .line 286
            aconst_null
            astore 5 /* uhe */
        start local 5 // java.net.UnknownHostException uhe
         7: .line 289
            aload 1 /* host */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 12
         8: .line 291
            aload 0 /* this */
            aload 3 /* ctx */
            aload 1 /* host */
            aload 2 /* ids */
            iconst_0
            invokevirtual sun.net.spi.nameservice.dns.DNSNameService.resolve:(Ljavax/naming/directory/DirContext;Ljava/lang/String;[Ljava/lang/String;I)Ljava/util/ArrayList;
            astore 4 /* results */
         9: .line 292
            goto 12
      StackMap locals: sun.net.spi.nameservice.dns.DNSNameService java.lang.String java.lang.String[] javax.naming.directory.DirContext java.util.ArrayList java.net.UnknownHostException
      StackMap stack: java.net.UnknownHostException
        10: astore 6 /* x */
        start local 6 // java.net.UnknownHostException x
        11: .line 293
            aload 6 /* x */
            astore 5 /* uhe */
        end local 6 // java.net.UnknownHostException x
        12: .line 309
      StackMap locals:
      StackMap stack:
            aload 4 /* results */
            ifnonnull 39
        13: .line 310
            aconst_null
            astore 6 /* searchList */
        start local 6 // java.util.List searchList
        14: .line 312
            iconst_0
            istore 8 /* usingSearchList */
        start local 8 // boolean usingSearchList
        15: .line 314
            aload 0 /* this */
            getfield sun.net.spi.nameservice.dns.DNSNameService.domainList:Ljava/util/LinkedList;
            ifnull 18
        16: .line 315
            aload 0 /* this */
            getfield sun.net.spi.nameservice.dns.DNSNameService.domainList:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 7 /* i */
        start local 7 // java.util.Iterator i
        17: .line 316
            goto 38
        end local 7 // java.util.Iterator i
        18: .line 317
      StackMap locals: sun.net.spi.nameservice.dns.DNSNameService java.lang.String java.lang.String[] javax.naming.directory.DirContext java.util.ArrayList java.net.UnknownHostException java.util.List top int
      StackMap stack:
            invokestatic sun.net.dns.ResolverConfiguration.open:()Lsun/net/dns/ResolverConfiguration;
            invokevirtual sun.net.dns.ResolverConfiguration.searchlist:()Ljava/util/List;
            astore 6 /* searchList */
        19: .line 318
            aload 6 /* searchList */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 21
        20: .line 319
            iconst_1
            istore 8 /* usingSearchList */
        21: .line 321
      StackMap locals:
      StackMap stack:
            aload 6 /* searchList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7 /* i */
        start local 7 // java.util.Iterator i
        22: .line 325
            goto 38
        23: .line 326
      StackMap locals: sun.net.spi.nameservice.dns.DNSNameService java.lang.String java.lang.String[] javax.naming.directory.DirContext java.util.ArrayList java.net.UnknownHostException java.util.List java.util.Iterator int
      StackMap stack:
            aload 7 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* parentDomain */
        start local 9 // java.lang.String parentDomain
        24: .line 327
            iconst_0
            istore 10 /* start */
        start local 10 // int start
        25: .line 328
            goto 33
        26: .line 331
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* ctx */
            new java.lang.StringBuilder
            dup
            aload 1 /* host */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* parentDomain */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* ids */
            iconst_0
            invokevirtual sun.net.spi.nameservice.dns.DNSNameService.resolve:(Ljavax/naming/directory/DirContext;Ljava/lang/String;[Ljava/lang/String;I)Ljava/util/ArrayList;
            astore 4 /* results */
        27: .line 332
            goto 36
        28: .line 333
      StackMap locals:
      StackMap stack: java.net.UnknownHostException
            astore 11 /* x */
        start local 11 // java.net.UnknownHostException x
        29: .line 334
            aload 11 /* x */
            astore 5 /* uhe */
        30: .line 335
            iload 8 /* usingSearchList */
            ifeq 32
        31: .line 336
            goto 36
        32: .line 340
      StackMap locals: java.net.UnknownHostException
      StackMap stack:
            aload 9 /* parentDomain */
            iload 10 /* start */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* parentDomain */
        end local 11 // java.net.UnknownHostException x
        33: .line 328
      StackMap locals:
      StackMap stack:
            aload 9 /* parentDomain */
            ldc "."
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            dup
            istore 10 /* start */
            iconst_m1
            if_icmpeq 36
        34: .line 329
            iload 10 /* start */
            aload 9 /* parentDomain */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
        35: .line 328
            if_icmplt 26
        36: .line 343
      StackMap locals:
      StackMap stack:
            aload 4 /* results */
            ifnull 38
        37: .line 344
            goto 39
        end local 10 // int start
        end local 9 // java.lang.String parentDomain
        38: .line 325
      StackMap locals:
      StackMap stack:
            aload 7 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        end local 8 // boolean usingSearchList
        end local 7 // java.util.Iterator i
        end local 6 // java.util.List searchList
        39: .line 350
      StackMap locals:
      StackMap stack:
            aload 4 /* results */
            ifnonnull 41
            aload 1 /* host */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            ifge 41
        40: .line 351
            aload 0 /* this */
            aload 3 /* ctx */
            aload 1 /* host */
            aload 2 /* ids */
            iconst_0
            invokevirtual sun.net.spi.nameservice.dns.DNSNameService.resolve:(Ljavax/naming/directory/DirContext;Ljava/lang/String;[Ljava/lang/String;I)Ljava/util/ArrayList;
            astore 4 /* results */
        41: .line 355
      StackMap locals:
      StackMap stack:
            aload 4 /* results */
            ifnonnull 44
        42: .line 356
            getstatic sun.net.spi.nameservice.dns.DNSNameService.$assertionsDisabled:Z
            ifne 43
            aload 5 /* uhe */
            ifnonnull 43
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        43: .line 357
      StackMap locals:
      StackMap stack:
            aload 5 /* uhe */
            athrow
        44: .line 364
      StackMap locals:
      StackMap stack:
            getstatic sun.net.spi.nameservice.dns.DNSNameService.$assertionsDisabled:Z
            ifne 45
            aload 4 /* results */
            invokevirtual java.util.ArrayList.size:()I
            ifgt 45
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        45: .line 365
      StackMap locals:
      StackMap stack:
            aload 4 /* results */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.net.InetAddress
            astore 6 /* addrs */
        start local 6 // java.net.InetAddress[] addrs
        46: .line 366
            iconst_0
            istore 7 /* count */
        start local 7 // int count
        47: .line 367
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        48: goto 56
        49: .line 368
      StackMap locals: java.net.InetAddress[] int int
      StackMap stack:
            aload 4 /* results */
            iload 8 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* addrString */
        start local 9 // java.lang.String addrString
        50: .line 369
            aload 9 /* addrString */
            invokestatic sun.net.util.IPAddressUtil.textToNumericFormatV4:(Ljava/lang/String;)[B
            astore 10 /* addr */
        start local 10 // byte[] addr
        51: .line 370
            aload 10 /* addr */
            ifnonnull 53
        52: .line 371
            aload 9 /* addrString */
            invokestatic sun.net.util.IPAddressUtil.textToNumericFormatV6:(Ljava/lang/String;)[B
            astore 10 /* addr */
        53: .line 373
      StackMap locals: java.lang.String byte[]
      StackMap stack:
            aload 10 /* addr */
            ifnull 55
        54: .line 374
            aload 6 /* addrs */
            iload 7 /* count */
            iinc 7 /* count */ 1
            aload 1 /* host */
            aload 10 /* addr */
            invokestatic java.net.InetAddress.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress;
            aastore
        end local 10 // byte[] addr
        end local 9 // java.lang.String addrString
        55: .line 367
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        56: iload 8 /* i */
            aload 4 /* results */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 49
        end local 8 // int i
        57: .line 383
            iload 7 /* count */
            ifne 59
        58: .line 384
            new java.net.UnknownHostException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* host */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": no valid DNS records"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.net.UnknownHostException.<init>:(Ljava/lang/String;)V
            athrow
        59: .line 386
      StackMap locals:
      StackMap stack:
            iload 7 /* count */
            aload 4 /* results */
            invokevirtual java.util.ArrayList.size:()I
            if_icmpge 67
        60: .line 387
            iload 7 /* count */
            anewarray java.net.InetAddress
            astore 8 /* tmp */
        start local 8 // java.net.InetAddress[] tmp
        61: .line 388
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        62: goto 65
        63: .line 389
      StackMap locals: java.net.InetAddress[] int
      StackMap stack:
            aload 8 /* tmp */
            iload 9 /* i */
            aload 6 /* addrs */
            iload 9 /* i */
            aaload
            aastore
        64: .line 388
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        65: iload 9 /* i */
            iload 7 /* count */
            if_icmplt 63
        end local 9 // int i
        66: .line 391
            aload 8 /* tmp */
            astore 6 /* addrs */
        end local 8 // java.net.InetAddress[] tmp
        67: .line 394
      StackMap locals:
      StackMap stack:
            aload 6 /* addrs */
            areturn
        end local 7 // int count
        end local 6 // java.net.InetAddress[] addrs
        end local 5 // java.net.UnknownHostException uhe
        end local 4 // java.util.ArrayList results
        end local 3 // javax.naming.directory.DirContext ctx
        end local 2 // java.lang.String[] ids
        end local 1 // java.lang.String host
        end local 0 // sun.net.spi.nameservice.dns.DNSNameService this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   68     0             this  Lsun/net/spi/nameservice/dns/DNSNameService;
            0   68     1             host  Ljava/lang/String;
            1   68     2              ids  [Ljava/lang/String;
            2    3     3              ctx  Ljavax/naming/directory/DirContext;
            5   68     3              ctx  Ljavax/naming/directory/DirContext;
            4    5     4               nx  Ljavax/naming/NamingException;
            6   68     4          results  Ljava/util/ArrayList<Ljava/lang/String;>;
            7   68     5              uhe  Ljava/net/UnknownHostException;
           11   12     6                x  Ljava/net/UnknownHostException;
           14   39     6       searchList  Ljava/util/List<Ljava/lang/String;>;
           17   18     7                i  Ljava/util/Iterator<Ljava/lang/String;>;
           22   39     7                i  Ljava/util/Iterator<Ljava/lang/String;>;
           15   39     8  usingSearchList  Z
           24   38     9     parentDomain  Ljava/lang/String;
           25   38    10            start  I
           29   33    11                x  Ljava/net/UnknownHostException;
           46   68     6            addrs  [Ljava/net/InetAddress;
           47   68     7            count  I
           48   57     8                i  I
           50   55     9       addrString  Ljava/lang/String;
           51   55    10             addr  [B
           61   67     8              tmp  [Ljava/net/InetAddress;
           62   66     9                i  I
      Exception table:
        from    to  target  type
           1     2       3  Class javax.naming.NamingException
           8     9      10  Class java.net.UnknownHostException
          26    27      28  Class java.net.UnknownHostException
    Exceptions:
      throws java.net.UnknownHostException
    MethodParameters:
      Name  Flags
      host  

  public java.lang.String getHostByAddr(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // sun.net.spi.nameservice.dns.DNSNameService this
        start local 1 // byte[] addr
         0: .line 404
            aconst_null
            astore 2 /* host */
        start local 2 // java.lang.String host
         1: .line 406
            ldc ""
            astore 3 /* literalip */
        start local 3 // java.lang.String literalip
         2: .line 407
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "PTR"
            aastore
            astore 4 /* ids */
        start local 4 // java.lang.String[] ids
         3: .line 409
            aconst_null
            astore 6 /* results */
        start local 6 // java.util.ArrayList results
         4: .line 411
            aload 0 /* this */
            invokevirtual sun.net.spi.nameservice.dns.DNSNameService.getTemporaryContext:()Ljavax/naming/directory/DirContext;
            astore 5 /* ctx */
        start local 5 // javax.naming.directory.DirContext ctx
         5: .line 412
            goto 8
        end local 5 // javax.naming.directory.DirContext ctx
      StackMap locals: sun.net.spi.nameservice.dns.DNSNameService byte[] java.lang.String java.lang.String java.lang.String[] top java.util.ArrayList
      StackMap stack: javax.naming.NamingException
         6: astore 7 /* nx */
        start local 7 // javax.naming.NamingException nx
         7: .line 413
            new java.lang.Error
            dup
            aload 7 /* nx */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 7 // javax.naming.NamingException nx
        start local 5 // javax.naming.directory.DirContext ctx
         8: .line 415
      StackMap locals: sun.net.spi.nameservice.dns.DNSNameService byte[] java.lang.String java.lang.String java.lang.String[] javax.naming.directory.DirContext java.util.ArrayList
      StackMap stack:
            aload 1 /* addr */
            arraylength
            iconst_4
            if_icmpne 18
         9: .line 416
            aload 1 /* addr */
            arraylength
            iconst_1
            isub
            istore 7 /* i */
        start local 7 // int i
        10: goto 13
        11: .line 417
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* literalip */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* addr */
            iload 7 /* i */
            baload
            sipush 255
            iand
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* literalip */
        12: .line 416
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        13: iload 7 /* i */
            ifge 11
        end local 7 // int i
        14: .line 419
            new java.lang.StringBuilder
            dup
            aload 3 /* literalip */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "IN-ADDR.ARPA."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* literalip */
        15: .line 421
            aload 0 /* this */
            aload 5 /* ctx */
            aload 3 /* literalip */
            aload 4 /* ids */
            iconst_0
            invokevirtual sun.net.spi.nameservice.dns.DNSNameService.resolve:(Ljavax/naming/directory/DirContext;Ljava/lang/String;[Ljava/lang/String;I)Ljava/util/ArrayList;
            astore 6 /* results */
        16: .line 422
            aload 6 /* results */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* host */
        17: .line 423
            goto 39
      StackMap locals:
      StackMap stack:
        18: aload 1 /* addr */
            arraylength
            bipush 16
            if_icmpne 39
        19: .line 431
            aload 1 /* addr */
            arraylength
            iconst_1
            isub
            istore 7 /* i */
        start local 7 // int i
        20: goto 25
        21: .line 432
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* literalip */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* addr */
            iload 7 /* i */
            baload
            bipush 15
            iand
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 433
            aload 1 /* addr */
            iload 7 /* i */
            baload
            sipush 240
            iand
            iconst_4
            ishr
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 432
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* literalip */
        24: .line 431
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        25: iload 7 /* i */
            ifge 21
        end local 7 // int i
        26: .line 435
            new java.lang.StringBuilder
            dup
            aload 3 /* literalip */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "IP6.ARPA."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* ip6lit */
        start local 7 // java.lang.String ip6lit
        27: .line 438
            aload 0 /* this */
            aload 5 /* ctx */
            aload 7 /* ip6lit */
            aload 4 /* ids */
            iconst_0
            invokevirtual sun.net.spi.nameservice.dns.DNSNameService.resolve:(Ljavax/naming/directory/DirContext;Ljava/lang/String;[Ljava/lang/String;I)Ljava/util/ArrayList;
            astore 6 /* results */
        28: .line 439
            aload 6 /* results */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* host */
        29: .line 440
            goto 32
      StackMap locals: sun.net.spi.nameservice.dns.DNSNameService byte[] java.lang.String java.lang.String java.lang.String[] javax.naming.directory.DirContext java.util.ArrayList java.lang.String
      StackMap stack: java.net.UnknownHostException
        30: pop
        31: .line 441
            aconst_null
            astore 2 /* host */
        32: .line 443
      StackMap locals:
      StackMap stack:
            aload 2 /* host */
            ifnonnull 39
        33: .line 445
            new java.lang.StringBuilder
            dup
            aload 3 /* literalip */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "IP6.INT."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* ip6lit */
        34: .line 446
            aload 0 /* this */
            aload 5 /* ctx */
            aload 7 /* ip6lit */
            aload 4 /* ids */
            iconst_0
            invokevirtual sun.net.spi.nameservice.dns.DNSNameService.resolve:(Ljavax/naming/directory/DirContext;Ljava/lang/String;[Ljava/lang/String;I)Ljava/util/ArrayList;
            astore 6 /* results */
        35: .line 447
            aload 6 /* results */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* host */
        end local 7 // java.lang.String ip6lit
        end local 6 // java.util.ArrayList results
        end local 5 // javax.naming.directory.DirContext ctx
        end local 4 // java.lang.String[] ids
        end local 3 // java.lang.String literalip
        36: .line 450
            goto 39
      StackMap locals: sun.net.spi.nameservice.dns.DNSNameService byte[] java.lang.String
      StackMap stack: java.lang.Exception
        37: astore 3 /* e */
        start local 3 // java.lang.Exception e
        38: .line 451
            new java.net.UnknownHostException
            dup
            aload 3 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.net.UnknownHostException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Exception e
        39: .line 454
      StackMap locals:
      StackMap stack:
            aload 2 /* host */
            ifnonnull 41
        40: .line 455
            new java.net.UnknownHostException
            dup
            invokespecial java.net.UnknownHostException.<init>:()V
            athrow
        41: .line 457
      StackMap locals:
      StackMap stack:
            aload 2 /* host */
            ldc "."
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 43
        42: .line 458
            aload 2 /* host */
            iconst_0
            aload 2 /* host */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* host */
        43: .line 460
      StackMap locals:
      StackMap stack:
            aload 2 /* host */
            areturn
        end local 2 // java.lang.String host
        end local 1 // byte[] addr
        end local 0 // sun.net.spi.nameservice.dns.DNSNameService this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   44     0       this  Lsun/net/spi/nameservice/dns/DNSNameService;
            0   44     1       addr  [B
            1   44     2       host  Ljava/lang/String;
            2   36     3  literalip  Ljava/lang/String;
            3   36     4        ids  [Ljava/lang/String;
            5    6     5        ctx  Ljavax/naming/directory/DirContext;
            8   36     5        ctx  Ljavax/naming/directory/DirContext;
            4   36     6    results  Ljava/util/ArrayList<Ljava/lang/String;>;
            7    8     7         nx  Ljavax/naming/NamingException;
           10   14     7          i  I
           20   26     7          i  I
           27   36     7     ip6lit  Ljava/lang/String;
           38   39     3          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     5       6  Class javax.naming.NamingException
          27    29      30  Class java.net.UnknownHostException
           1    36      37  Class java.lang.Exception
    Exceptions:
      throws java.net.UnknownHostException
    MethodParameters:
      Name  Flags
      addr  

  private static void appendIfLiteralAddress(java.lang.String, java.lang.StringBuffer);
    descriptor: (Ljava/lang/String;Ljava/lang/StringBuffer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String addr
        start local 1 // java.lang.StringBuffer sb
         0: .line 467
            aload 0 /* addr */
            invokestatic sun.net.util.IPAddressUtil.isIPv4LiteralAddress:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 468
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "dns://"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* addr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 469
            goto 5
         3: .line 470
      StackMap locals:
      StackMap stack:
            aload 0 /* addr */
            invokestatic sun.net.util.IPAddressUtil.isIPv6LiteralAddress:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 471
            aload 1 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "dns://["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* addr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 474
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.StringBuffer sb
        end local 0 // java.lang.String addr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  addr  Ljava/lang/String;
            0    6     1    sb  Ljava/lang/StringBuffer;
    MethodParameters:
      Name  Flags
      addr  
      sb    

  private static java.lang.String createProviderURL(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.util.List nsList
         0: .line 481
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 482
            aload 0 /* nsList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.util.List java.lang.StringBuffer top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* s */
        start local 2 // java.lang.String s
         3: .line 483
            aload 2 /* s */
            aload 1 /* sb */
            invokestatic sun.net.spi.nameservice.dns.DNSNameService.appendIfLiteralAddress:(Ljava/lang/String;Ljava/lang/StringBuffer;)V
        end local 2 // java.lang.String s
         4: .line 482
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 485
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer sb
        end local 0 // java.util.List nsList
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  nsList  Ljava/util/List<Ljava/lang/String;>;
            1    6     1      sb  Ljava/lang/StringBuffer;
            3    4     2       s  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
        Name  Flags
      nsList  

  private static java.lang.String createProviderURL(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.String str
         0: .line 494
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 495
            new java.util.StringTokenizer
            dup
            aload 0 /* str */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* st */
        start local 2 // java.util.StringTokenizer st
         2: .line 496
            goto 4
         3: .line 497
      StackMap locals: java.lang.StringBuffer java.util.StringTokenizer
      StackMap stack:
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            aload 1 /* sb */
            invokestatic sun.net.spi.nameservice.dns.DNSNameService.appendIfLiteralAddress:(Ljava/lang/String;Ljava/lang/StringBuffer;)V
         4: .line 496
      StackMap locals:
      StackMap stack:
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 3
         5: .line 499
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.util.StringTokenizer st
        end local 1 // java.lang.StringBuffer sb
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   str  Ljava/lang/String;
            1    6     1    sb  Ljava/lang/StringBuffer;
            2    6     2    st  Ljava/util/StringTokenizer;
    MethodParameters:
      Name  Flags
      str   
}
SourceFile: "DNSNameService.java"
NestMembers:
  sun.net.spi.nameservice.dns.DNSNameService$1  sun.net.spi.nameservice.dns.DNSNameService$2  sun.net.spi.nameservice.dns.DNSNameService$ThreadContext
InnerClasses:
  sun.net.spi.nameservice.dns.DNSNameService$1
  sun.net.spi.nameservice.dns.DNSNameService$2
  private ThreadContext = sun.net.spi.nameservice.dns.DNSNameService$ThreadContext of sun.net.spi.nameservice.dns.DNSNameService