public final class io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider implements io.netty.resolver.dns.DnsServerAddressStreamProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider
  super_class: java.lang.Object
{
  private static final io.netty.util.internal.logging.InternalLogger logger;
    descriptor: Lio/netty/util/internal/logging/InternalLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String ETC_RESOLV_CONF_FILE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "/etc/resolv.conf"

  private static final java.lang.String ETC_RESOLVER_DIR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "/etc/resolver"

  private static final java.lang.String NAMESERVER_ROW_LABEL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "nameserver"

  private static final java.lang.String SORTLIST_ROW_LABEL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sortlist"

  private static final java.lang.String OPTIONS_ROW_LABEL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "options"

  private static final java.lang.String DOMAIN_ROW_LABEL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "domain"

  private static final java.lang.String PORT_ROW_LABEL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "port"

  private static final java.lang.String NDOTS_LABEL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ndots:"

  static final int DEFAULT_NDOTS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private final io.netty.resolver.dns.DnsServerAddresses defaultNameServerAddresses;
    descriptor: Lio/netty/resolver/dns/DnsServerAddresses;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.String, io.netty.resolver.dns.DnsServerAddresses> domainToNameServerStreamMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/netty/resolver/dns/DnsServerAddresses;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 47
            ldc Lio/netty/resolver/dns/UnixResolverDnsServerAddressStreamProvider;
            invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
         1: .line 46
            putstatic io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.logger:Lio/netty/util/internal/logging/InternalLogger;
         2: .line 56
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static io.netty.resolver.dns.DnsServerAddressStreamProvider parseSilently();
    descriptor: ()Lio/netty/resolver/dns/DnsServerAddressStreamProvider;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=1, args_size=0
         0: .line 67
            new io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider
            dup
            ldc "/etc/resolv.conf"
            ldc "/etc/resolver"
            invokespecial io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 66
            astore 0 /* nameServerCache */
        start local 0 // io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider nameServerCache
         2: .line 68
            aload 0 /* nameServerCache */
            invokevirtual io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.mayOverrideNameServers:()Z
            ifeq 3
            aload 0 /* nameServerCache */
            goto 4
         3: .line 69
      StackMap locals: io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider
      StackMap stack:
            getstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.INSTANCE:Lio/netty/resolver/dns/DefaultDnsServerAddressStreamProvider;
         4: .line 68
      StackMap locals:
      StackMap stack: io.netty.resolver.dns.DnsServerAddressStreamProvider
            areturn
        end local 0 // io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider nameServerCache
         5: .line 70
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 0 /* e */
        start local 0 // java.lang.Exception e
         6: .line 71
            getstatic io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "failed to parse {} and/or {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "/etc/resolv.conf"
            aastore
            dup
            iconst_1
            ldc "/etc/resolver"
            aastore
            dup
            iconst_2
            aload 0 /* e */
            aastore
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 72
            getstatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.INSTANCE:Lio/netty/resolver/dns/DefaultDnsServerAddressStreamProvider;
            areturn
        end local 0 // java.lang.Exception e
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            2    5     0  nameServerCache  Lio/netty/resolver/dns/UnixResolverDnsServerAddressStreamProvider;
            6    8     0                e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.Exception

  public void <init>(java.io.File, java.io.File[]);
    descriptor: (Ljava/io/File;[Ljava/io/File;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider this
        start local 1 // java.io.File etcResolvConf
        start local 2 // java.io.File[] etcResolverFiles
         0: .line 89
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 90
            iconst_1
            anewarray java.io.File
            dup
            iconst_0
            aload 1 /* etcResolvConf */
            ldc "etcResolvConf"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.io.File
            aastore
            invokestatic io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.parse:([Ljava/io/File;)Ljava/util/Map;
            astore 3 /* etcResolvConfMap */
        start local 3 // java.util.Map etcResolvConfMap
         2: .line 91
            aload 2 /* etcResolverFiles */
            ifnull 3
            aload 2 /* etcResolverFiles */
            arraylength
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider java.io.File java.io.File[] java.util.Map
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* useEtcResolverFiles */
        start local 4 // boolean useEtcResolverFiles
         5: .line 92
            aload 0 /* this */
            iload 4 /* useEtcResolverFiles */
            ifeq 6
            aload 2 /* etcResolverFiles */
            invokestatic io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.parse:([Ljava/io/File;)Ljava/util/Map;
            goto 7
      StackMap locals: io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider java.io.File java.io.File[] java.util.Map int
      StackMap stack: io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider
         6: aload 3 /* etcResolvConfMap */
      StackMap locals: io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider java.io.File java.io.File[] java.util.Map int
      StackMap stack: io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider java.util.Map
         7: putfield io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.domainToNameServerStreamMap:Ljava/util/Map;
         8: .line 94
            aload 3 /* etcResolvConfMap */
            aload 1 /* etcResolvConf */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.netty.resolver.dns.DnsServerAddresses
            astore 5 /* defaultNameServerAddresses */
        start local 5 // io.netty.resolver.dns.DnsServerAddresses defaultNameServerAddresses
         9: .line 95
            aload 5 /* defaultNameServerAddresses */
            ifnonnull 15
        10: .line 96
            aload 3 /* etcResolvConfMap */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            astore 6 /* values */
        start local 6 // java.util.Collection values
        11: .line 97
            aload 6 /* values */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 13
        12: .line 98
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* etcResolvConf */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " didn't provide any name servers"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 100
      StackMap locals: io.netty.resolver.dns.DnsServerAddresses java.util.Collection
      StackMap stack:
            aload 0 /* this */
            aload 6 /* values */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.netty.resolver.dns.DnsServerAddresses
            putfield io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.defaultNameServerAddresses:Lio/netty/resolver/dns/DnsServerAddresses;
        end local 6 // java.util.Collection values
        14: .line 101
            goto 16
        15: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* defaultNameServerAddresses */
            putfield io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.defaultNameServerAddresses:Lio/netty/resolver/dns/DnsServerAddresses;
        16: .line 105
      StackMap locals:
      StackMap stack:
            iload 4 /* useEtcResolverFiles */
            ifeq 18
        17: .line 106
            aload 0 /* this */
            getfield io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.domainToNameServerStreamMap:Ljava/util/Map;
            aload 3 /* etcResolvConfMap */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        18: .line 108
      StackMap locals:
      StackMap stack:
            return
        end local 5 // io.netty.resolver.dns.DnsServerAddresses defaultNameServerAddresses
        end local 4 // boolean useEtcResolverFiles
        end local 3 // java.util.Map etcResolvConfMap
        end local 2 // java.io.File[] etcResolverFiles
        end local 1 // java.io.File etcResolvConf
        end local 0 // io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   19     0                        this  Lio/netty/resolver/dns/UnixResolverDnsServerAddressStreamProvider;
            0   19     1               etcResolvConf  Ljava/io/File;
            0   19     2            etcResolverFiles  [Ljava/io/File;
            2   19     3            etcResolvConfMap  Ljava/util/Map<Ljava/lang/String;Lio/netty/resolver/dns/DnsServerAddresses;>;
            5   19     4         useEtcResolverFiles  Z
            9   19     5  defaultNameServerAddresses  Lio/netty/resolver/dns/DnsServerAddresses;
           11   14     6                      values  Ljava/util/Collection<Lio/netty/resolver/dns/DnsServerAddresses;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      etcResolvConf     
      etcResolverFiles  

  public void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider this
        start local 1 // java.lang.String etcResolvConf
        start local 2 // java.lang.String etcResolverDir
         0: .line 124
            aload 0 /* this */
            aload 1 /* etcResolvConf */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack: uninitialized-this
         1: new java.io.File
            dup
            aload 1 /* etcResolvConf */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
         2: .line 125
      StackMap locals: uninitialized-this java.lang.String java.lang.String
      StackMap stack: uninitialized-this java.io.File
            aload 2 /* etcResolverDir */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: uninitialized-this java.lang.String java.lang.String
      StackMap stack: uninitialized-this java.io.File
         3: new java.io.File
            dup
            aload 2 /* etcResolverDir */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.listFiles:()[Ljava/io/File;
      StackMap locals: uninitialized-this java.lang.String java.lang.String
      StackMap stack: uninitialized-this java.io.File java.io.File[]
         4: invokespecial io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.<init>:(Ljava/io/File;[Ljava/io/File;)V
         5: .line 126
            return
        end local 2 // java.lang.String etcResolverDir
        end local 1 // java.lang.String etcResolvConf
        end local 0 // io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lio/netty/resolver/dns/UnixResolverDnsServerAddressStreamProvider;
            0    6     1   etcResolvConf  Ljava/lang/String;
            0    6     2  etcResolverDir  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      etcResolvConf   
      etcResolverDir  

  public io.netty.resolver.dns.DnsServerAddressStream nameServerAddressStream(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/netty/resolver/dns/DnsServerAddressStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider this
        start local 1 // java.lang.String hostname
         0: .line 131
      StackMap locals:
      StackMap stack:
            aload 1 /* hostname */
            bipush 46
            iconst_1
            invokevirtual java.lang.String.indexOf:(II)I
            istore 2 /* i */
        start local 2 // int i
         1: .line 132
            iload 2 /* i */
            iflt 2
            iload 2 /* i */
            aload 1 /* hostname */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpne 3
         2: .line 133
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.defaultNameServerAddresses:Lio/netty/resolver/dns/DnsServerAddresses;
            invokevirtual io.netty.resolver.dns.DnsServerAddresses.stream:()Lio/netty/resolver/dns/DnsServerAddressStream;
            areturn
         3: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.domainToNameServerStreamMap:Ljava/util/Map;
            aload 1 /* hostname */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.netty.resolver.dns.DnsServerAddresses
            astore 3 /* addresses */
        start local 3 // io.netty.resolver.dns.DnsServerAddresses addresses
         4: .line 137
            aload 3 /* addresses */
            ifnull 6
         5: .line 138
            aload 3 /* addresses */
            invokevirtual io.netty.resolver.dns.DnsServerAddresses.stream:()Lio/netty/resolver/dns/DnsServerAddressStream;
            areturn
         6: .line 141
      StackMap locals: io.netty.resolver.dns.DnsServerAddresses
      StackMap stack:
            aload 1 /* hostname */
            iload 2 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* hostname */
        end local 3 // io.netty.resolver.dns.DnsServerAddresses addresses
        end local 2 // int i
         7: .line 130
            goto 0
        end local 1 // java.lang.String hostname
        end local 0 // io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lio/netty/resolver/dns/UnixResolverDnsServerAddressStreamProvider;
            0    8     1   hostname  Ljava/lang/String;
            1    7     2          i  I
            4    7     3  addresses  Lio/netty/resolver/dns/DnsServerAddresses;
    MethodParameters:
          Name  Flags
      hostname  

  private boolean mayOverrideNameServers();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider this
         0: .line 146
            aload 0 /* this */
            getfield io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.domainToNameServerStreamMap:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 1
            aload 0 /* this */
            getfield io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.defaultNameServerAddresses:Lio/netty/resolver/dns/DnsServerAddresses;
            invokevirtual io.netty.resolver.dns.DnsServerAddresses.stream:()Lio/netty/resolver/dns/DnsServerAddressStream;
            invokeinterface io.netty.resolver.dns.DnsServerAddressStream.next:()Ljava/net/InetSocketAddress;
            ifnonnull 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/resolver/dns/UnixResolverDnsServerAddressStreamProvider;

  private static java.util.Map<java.lang.String, io.netty.resolver.dns.DnsServerAddresses> parse(java.io.File[]);
    descriptor: ([Ljava/io/File;)Ljava/util/Map;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=16, args_size=1
        start local 0 // java.io.File[] etcResolverFiles
         0: .line 151
            new java.util.HashMap
            dup
            aload 0 /* etcResolverFiles */
            arraylength
            iconst_1
            ishl
            invokespecial java.util.HashMap.<init>:(I)V
         1: .line 150
            astore 1 /* domainToNameServerStreamMap */
        start local 1 // java.util.Map domainToNameServerStreamMap
         2: .line 152
            aload 0 /* etcResolverFiles */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 71
      StackMap locals: java.io.File[] java.util.Map top int int java.io.File[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* etcResolverFile */
        start local 2 // java.io.File etcResolverFile
         4: .line 153
            aload 2 /* etcResolverFile */
            invokevirtual java.io.File.isFile:()Z
            ifne 6
         5: .line 154
            goto 70
         6: .line 156
      StackMap locals: java.io.File[] java.util.Map java.io.File int int java.io.File[]
      StackMap stack:
            new java.io.FileReader
            dup
            aload 2 /* etcResolverFile */
            invokespecial java.io.FileReader.<init>:(Ljava/io/File;)V
            astore 6 /* fr */
        start local 6 // java.io.FileReader fr
         7: .line 157
            aconst_null
            astore 7 /* br */
        start local 7 // java.io.BufferedReader br
         8: .line 159
            new java.io.BufferedReader
            dup
            aload 6 /* fr */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 7 /* br */
         9: .line 160
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 8 /* addresses */
        start local 8 // java.util.List addresses
        10: .line 161
            aload 2 /* etcResolverFile */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            astore 9 /* domainName */
        start local 9 // java.lang.String domainName
        11: .line 162
            bipush 53
            istore 10 /* port */
        start local 10 // int port
        12: .line 164
            goto 55
        start local 11 // java.lang.String line
        13: .line 165
      StackMap locals: java.io.File[] java.util.Map java.io.File int int java.io.File[] java.io.FileReader java.io.BufferedReader java.util.List java.lang.String int java.lang.String
      StackMap stack:
            aload 11 /* line */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 11 /* line */
        14: .line 167
            aload 11 /* line */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 55
            aload 11 /* line */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 12 /* c */
        start local 12 // char c
        15: bipush 35
            if_icmpeq 55
            iload 12 /* c */
            bipush 59
            if_icmpne 17
        end local 12 // char c
        16: .line 168
            goto 55
        start local 12 // char c
        17: .line 170
      StackMap locals: int
      StackMap stack:
            aload 11 /* line */
            ldc "nameserver"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 34
        18: .line 171
            aload 11 /* line */
            ldc "nameserver"
            invokevirtual java.lang.String.length:()I
            invokestatic io.netty.util.internal.StringUtil.indexOfNonWhiteSpace:(Ljava/lang/CharSequence;I)I
            istore 13 /* i */
        start local 13 // int i
        19: .line 172
            iload 13 /* i */
            ifge 23
        20: .line 173
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "error parsing label nameserver in file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 174
            aload 2 /* etcResolverFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ". value: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* line */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 173
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 176
      StackMap locals: int
      StackMap stack:
            aload 11 /* line */
            iload 13 /* i */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 14 /* maybeIP */
        start local 14 // java.lang.String maybeIP
        24: .line 178
            aload 14 /* maybeIP */
            invokestatic io.netty.util.NetUtil.isValidIpV4Address:(Ljava/lang/String;)Z
            ifne 32
            aload 14 /* maybeIP */
            invokestatic io.netty.util.NetUtil.isValidIpV6Address:(Ljava/lang/String;)Z
            ifne 32
        25: .line 179
            aload 14 /* maybeIP */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 13 /* i */
        26: .line 180
            iload 13 /* i */
            iconst_1
            iadd
            aload 14 /* maybeIP */
            invokevirtual java.lang.String.length:()I
            if_icmplt 30
        27: .line 181
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "error parsing label nameserver in file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        28: .line 182
            aload 2 /* etcResolverFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ". invalid IP value: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* line */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        29: .line 181
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 184
      StackMap locals: java.lang.String
      StackMap stack:
            aload 14 /* maybeIP */
            iload 13 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 10 /* port */
        31: .line 185
            aload 14 /* maybeIP */
            iconst_0
            iload 13 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 14 /* maybeIP */
        32: .line 187
      StackMap locals:
      StackMap stack:
            aload 8 /* addresses */
            aload 14 /* maybeIP */
            iload 10 /* port */
            invokestatic io.netty.util.internal.SocketUtils.socketAddress:(Ljava/lang/String;I)Ljava/net/InetSocketAddress;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // java.lang.String maybeIP
        end local 13 // int i
        33: .line 188
            goto 55
      StackMap locals:
      StackMap stack:
        34: aload 11 /* line */
            ldc "domain"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 45
        35: .line 189
            aload 11 /* line */
            ldc "domain"
            invokevirtual java.lang.String.length:()I
            invokestatic io.netty.util.internal.StringUtil.indexOfNonWhiteSpace:(Ljava/lang/CharSequence;I)I
            istore 13 /* i */
        start local 13 // int i
        36: .line 190
            iload 13 /* i */
            ifge 40
        37: .line 191
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "error parsing label domain in file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        38: .line 192
            aload 2 /* etcResolverFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " value: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* line */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        39: .line 191
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 194
      StackMap locals: int
      StackMap stack:
            aload 11 /* line */
            iload 13 /* i */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* domainName */
        41: .line 195
            aload 8 /* addresses */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 43
        42: .line 196
            aload 1 /* domainToNameServerStreamMap */
            aload 9 /* domainName */
            aload 8 /* addresses */
            invokestatic io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.putIfAbsent:(Ljava/util/Map;Ljava/lang/String;Ljava/util/List;)V
        43: .line 198
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 8 /* addresses */
        end local 13 // int i
        44: .line 199
            goto 55
      StackMap locals:
      StackMap stack:
        45: aload 11 /* line */
            ldc "port"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 53
        46: .line 200
            aload 11 /* line */
            ldc "port"
            invokevirtual java.lang.String.length:()I
            invokestatic io.netty.util.internal.StringUtil.indexOfNonWhiteSpace:(Ljava/lang/CharSequence;I)I
            istore 13 /* i */
        start local 13 // int i
        47: .line 201
            iload 13 /* i */
            ifge 51
        48: .line 202
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "error parsing label port in file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        49: .line 203
            aload 2 /* etcResolverFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " value: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* line */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        50: .line 202
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        51: .line 205
      StackMap locals: int
      StackMap stack:
            aload 11 /* line */
            iload 13 /* i */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 10 /* port */
        end local 13 // int i
        52: .line 206
            goto 55
      StackMap locals:
      StackMap stack:
        53: aload 11 /* line */
            ldc "sortlist"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 55
        54: .line 207
            getstatic io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "row type {} not supported. ignoring line: {}"
            ldc "sortlist"
            aload 11 /* line */
            invokeinterface io.netty.util.internal.logging.InternalLogger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 12 // char c
        end local 11 // java.lang.String line
        55: .line 164
      StackMap locals:
      StackMap stack:
            aload 7 /* br */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 11 /* line */
        start local 11 // java.lang.String line
        56: ifnonnull 13
        57: .line 210
            aload 8 /* addresses */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 66
        58: .line 211
            aload 1 /* domainToNameServerStreamMap */
            aload 9 /* domainName */
            aload 8 /* addresses */
            invokestatic io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.putIfAbsent:(Ljava/util/Map;Ljava/lang/String;Ljava/util/List;)V
        end local 11 // java.lang.String line
        end local 10 // int port
        end local 9 // java.lang.String domainName
        end local 8 // java.util.List addresses
        59: .line 213
            goto 66
      StackMap locals: java.io.File[] java.util.Map java.io.File int int java.io.File[] java.io.FileReader java.io.BufferedReader
      StackMap stack: java.lang.Throwable
        60: astore 15
        61: .line 214
            aload 7 /* br */
            ifnonnull 64
        62: .line 215
            aload 6 /* fr */
            invokevirtual java.io.FileReader.close:()V
        63: .line 216
            goto 65
        64: .line 217
      StackMap locals: java.io.File[] java.util.Map java.io.File int int java.io.File[] java.io.FileReader java.io.BufferedReader top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 7 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        65: .line 219
      StackMap locals:
      StackMap stack:
            aload 15
            athrow
        66: .line 214
      StackMap locals: java.io.File[] java.util.Map java.io.File int int java.io.File[] java.io.FileReader java.io.BufferedReader
      StackMap stack:
            aload 7 /* br */
            ifnonnull 69
        67: .line 215
            aload 6 /* fr */
            invokevirtual java.io.FileReader.close:()V
        68: .line 216
            goto 70
        69: .line 217
      StackMap locals:
      StackMap stack:
            aload 7 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        end local 7 // java.io.BufferedReader br
        end local 6 // java.io.FileReader fr
        end local 2 // java.io.File etcResolverFile
        70: .line 152
      StackMap locals: java.io.File[] java.util.Map top int int java.io.File[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        71: iload 3
            iload 4
            if_icmplt 3
        72: .line 221
            aload 1 /* domainToNameServerStreamMap */
            areturn
        end local 1 // java.util.Map domainToNameServerStreamMap
        end local 0 // java.io.File[] etcResolverFiles
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   73     0             etcResolverFiles  [Ljava/io/File;
            2   73     1  domainToNameServerStreamMap  Ljava/util/Map<Ljava/lang/String;Lio/netty/resolver/dns/DnsServerAddresses;>;
            4   70     2              etcResolverFile  Ljava/io/File;
            7   70     6                           fr  Ljava/io/FileReader;
            8   70     7                           br  Ljava/io/BufferedReader;
           10   59     8                    addresses  Ljava/util/List<Ljava/net/InetSocketAddress;>;
           11   59     9                   domainName  Ljava/lang/String;
           12   59    10                         port  I
           13   55    11                         line  Ljava/lang/String;
           56   59    11                         line  Ljava/lang/String;
           15   16    12                            c  C
           17   55    12                            c  C
           19   33    13                            i  I
           24   33    14                      maybeIP  Ljava/lang/String;
           36   44    13                            i  I
           47   52    13                            i  I
      Exception table:
        from    to  target  type
           8    60      60  any
    Exceptions:
      throws java.io.IOException
    Signature: ([Ljava/io/File;)Ljava/util/Map<Ljava/lang/String;Lio/netty/resolver/dns/DnsServerAddresses;>;
    MethodParameters:
                  Name  Flags
      etcResolverFiles  

  private static void putIfAbsent(java.util.Map<java.lang.String, io.netty.resolver.dns.DnsServerAddresses>, java.lang.String, java.util.List<java.net.InetSocketAddress>);
    descriptor: (Ljava/util/Map;Ljava/lang/String;Ljava/util/List;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.Map domainToNameServerStreamMap
        start local 1 // java.lang.String domainName
        start local 2 // java.util.List addresses
         0: .line 228
            aload 0 /* domainToNameServerStreamMap */
            aload 1 /* domainName */
            aload 2 /* addresses */
            invokestatic io.netty.resolver.dns.DnsServerAddresses.sequential:(Ljava/lang/Iterable;)Lio/netty/resolver/dns/DnsServerAddresses;
            invokestatic io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.putIfAbsent:(Ljava/util/Map;Ljava/lang/String;Lio/netty/resolver/dns/DnsServerAddresses;)V
         1: .line 229
            return
        end local 2 // java.util.List addresses
        end local 1 // java.lang.String domainName
        end local 0 // java.util.Map domainToNameServerStreamMap
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    2     0  domainToNameServerStreamMap  Ljava/util/Map<Ljava/lang/String;Lio/netty/resolver/dns/DnsServerAddresses;>;
            0    2     1                   domainName  Ljava/lang/String;
            0    2     2                    addresses  Ljava/util/List<Ljava/net/InetSocketAddress;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Lio/netty/resolver/dns/DnsServerAddresses;>;Ljava/lang/String;Ljava/util/List<Ljava/net/InetSocketAddress;>;)V
    MethodParameters:
                             Name  Flags
      domainToNameServerStreamMap  
      domainName                   
      addresses                    

  private static void putIfAbsent(java.util.Map<java.lang.String, io.netty.resolver.dns.DnsServerAddresses>, java.lang.String, io.netty.resolver.dns.DnsServerAddresses);
    descriptor: (Ljava/util/Map;Ljava/lang/String;Lio/netty/resolver/dns/DnsServerAddresses;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // java.util.Map domainToNameServerStreamMap
        start local 1 // java.lang.String domainName
        start local 2 // io.netty.resolver.dns.DnsServerAddresses addresses
         0: .line 234
            aload 0 /* domainToNameServerStreamMap */
            aload 1 /* domainName */
            aload 2 /* addresses */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.netty.resolver.dns.DnsServerAddresses
            astore 3 /* existingAddresses */
        start local 3 // io.netty.resolver.dns.DnsServerAddresses existingAddresses
         1: .line 235
            aload 3 /* existingAddresses */
            ifnull 6
         2: .line 236
            aload 0 /* domainToNameServerStreamMap */
            aload 1 /* domainName */
            aload 3 /* existingAddresses */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 237
            getstatic io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Domain name {} already maps to addresses {} so new addresses {} will be discarded"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 238
            aload 1 /* domainName */
            aastore
            dup
            iconst_1
            aload 3 /* existingAddresses */
            aastore
            dup
            iconst_2
            aload 2 /* addresses */
            aastore
         5: .line 237
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 240
      StackMap locals: io.netty.resolver.dns.DnsServerAddresses
      StackMap stack:
            return
        end local 3 // io.netty.resolver.dns.DnsServerAddresses existingAddresses
        end local 2 // io.netty.resolver.dns.DnsServerAddresses addresses
        end local 1 // java.lang.String domainName
        end local 0 // java.util.Map domainToNameServerStreamMap
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    7     0  domainToNameServerStreamMap  Ljava/util/Map<Ljava/lang/String;Lio/netty/resolver/dns/DnsServerAddresses;>;
            0    7     1                   domainName  Ljava/lang/String;
            0    7     2                    addresses  Lio/netty/resolver/dns/DnsServerAddresses;
            1    7     3            existingAddresses  Lio/netty/resolver/dns/DnsServerAddresses;
    Signature: (Ljava/util/Map<Ljava/lang/String;Lio/netty/resolver/dns/DnsServerAddresses;>;Ljava/lang/String;Lio/netty/resolver/dns/DnsServerAddresses;)V
    MethodParameters:
                             Name  Flags
      domainToNameServerStreamMap  
      domainName                   
      addresses                    

  static int parseEtcResolverFirstNdots();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 250
            new java.io.File
            dup
            ldc "/etc/resolv.conf"
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokestatic io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.parseEtcResolverFirstNdots:(Ljava/io/File;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  static int parseEtcResolverFirstNdots(java.io.File);
    descriptor: (Ljava/io/File;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // java.io.File etcResolvConf
         0: .line 262
            new java.io.FileReader
            dup
            aload 0 /* etcResolvConf */
            invokespecial java.io.FileReader.<init>:(Ljava/io/File;)V
            astore 1 /* fr */
        start local 1 // java.io.FileReader fr
         1: .line 263
            aconst_null
            astore 2 /* br */
        start local 2 // java.io.BufferedReader br
         2: .line 265
            new java.io.BufferedReader
            dup
            aload 1 /* fr */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 2 /* br */
         3: .line 267
            goto 17
        start local 3 // java.lang.String line
         4: .line 268
      StackMap locals: java.io.FileReader java.io.BufferedReader java.lang.String
      StackMap stack:
            aload 3 /* line */
            ldc "options"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 17
         5: .line 269
            aload 3 /* line */
            ldc "ndots:"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 4 /* i */
        start local 4 // int i
         6: .line 270
            iload 4 /* i */
            iflt 26
         7: .line 271
            iload 4 /* i */
            ldc "ndots:"
            invokevirtual java.lang.String.length:()I
            iadd
            istore 4 /* i */
         8: .line 272
            aload 3 /* line */
            bipush 32
            iload 4 /* i */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 5 /* j */
        start local 5 // int j
         9: .line 273
            aload 3 /* line */
            iload 4 /* i */
            iload 5 /* j */
            ifge 10
            aload 3 /* line */
            invokevirtual java.lang.String.length:()I
            goto 11
      StackMap locals: java.io.File java.io.FileReader java.io.BufferedReader java.lang.String int int
      StackMap stack: java.lang.String int
        10: iload 5 /* j */
      StackMap locals: java.io.File java.io.FileReader java.io.BufferedReader java.lang.String int int
      StackMap stack: java.lang.String int int
        11: invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 7
        12: .line 279
            aload 2 /* br */
            ifnonnull 15
        13: .line 280
            aload 1 /* fr */
            invokevirtual java.io.FileReader.close:()V
        14: .line 281
            goto 16
        15: .line 282
      StackMap locals: java.io.File java.io.FileReader java.io.BufferedReader java.lang.String int int top int
      StackMap stack:
            aload 2 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        16: .line 273
      StackMap locals:
      StackMap stack:
            iload 7
            ireturn
        end local 5 // int j
        end local 4 // int i
        end local 3 // java.lang.String line
        17: .line 267
      StackMap locals: java.io.File java.io.FileReader java.io.BufferedReader
      StackMap stack:
            aload 2 /* br */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 3 /* line */
        start local 3 // java.lang.String line
        18: ifnonnull 4
        end local 3 // java.lang.String line
        19: .line 278
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 6
        21: .line 279
            aload 2 /* br */
            ifnonnull 24
        22: .line 280
            aload 1 /* fr */
            invokevirtual java.io.FileReader.close:()V
        23: .line 281
            goto 25
        24: .line 282
      StackMap locals: java.io.File java.io.FileReader java.io.BufferedReader top top top java.lang.Throwable
      StackMap stack:
            aload 2 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        25: .line 284
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        26: .line 279
      StackMap locals: java.io.File java.io.FileReader java.io.BufferedReader
      StackMap stack:
            aload 2 /* br */
            ifnonnull 29
        27: .line 280
            aload 1 /* fr */
            invokevirtual java.io.FileReader.close:()V
        28: .line 281
            goto 30
        29: .line 282
      StackMap locals:
      StackMap stack:
            aload 2 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        30: .line 285
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // java.io.BufferedReader br
        end local 1 // java.io.FileReader fr
        end local 0 // java.io.File etcResolvConf
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   31     0  etcResolvConf  Ljava/io/File;
            1   31     1             fr  Ljava/io/FileReader;
            2   31     2             br  Ljava/io/BufferedReader;
            4   17     3           line  Ljava/lang/String;
           18   19     3           line  Ljava/lang/String;
            6   17     4              i  I
            9   17     5              j  I
      Exception table:
        from    to  target  type
           2    12      20  any
          17    20      20  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      etcResolvConf  
}
SourceFile: "UnixResolverDnsServerAddressStreamProvider.java"