public final class io.netty.util.NetUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.netty.util.NetUtil
  super_class: java.lang.Object
{
  public static final java.net.Inet4Address LOCALHOST4;
    descriptor: Ljava/net/Inet4Address;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.net.Inet6Address LOCALHOST6;
    descriptor: Ljava/net/Inet6Address;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.net.InetAddress LOCALHOST;
    descriptor: Ljava/net/InetAddress;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.net.NetworkInterface LOOPBACK_IF;
    descriptor: Ljava/net/NetworkInterface;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int SOMAXCONN;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

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

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

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

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

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

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

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

  private static final boolean IPV4_PREFERRED;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean IPV6_ADDRESSES_PREFERRED;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=11, args_size=0
         0: .line 125
            ldc "java.net.preferIPv4Stack"
            iconst_0
            invokestatic io.netty.util.internal.SystemPropertyUtil.getBoolean:(Ljava/lang/String;Z)Z
            putstatic io.netty.util.NetUtil.IPV4_PREFERRED:Z
         1: .line 131
            ldc "java.net.preferIPv6Addresses"
            iconst_0
            invokestatic io.netty.util.internal.SystemPropertyUtil.getBoolean:(Ljava/lang/String;Z)Z
         2: .line 130
            putstatic io.netty.util.NetUtil.IPV6_ADDRESSES_PREFERRED:Z
         3: .line 136
            ldc Lio/netty/util/NetUtil;
            invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
            putstatic io.netty.util.NetUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
         4: .line 139
            getstatic io.netty.util.NetUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "-Djava.net.preferIPv4Stack: {}"
            getstatic io.netty.util.NetUtil.IPV4_PREFERRED:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 140
            getstatic io.netty.util.NetUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "-Djava.net.preferIPv6Addresses: {}"
            getstatic io.netty.util.NetUtil.IPV6_ADDRESSES_PREFERRED:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 142
            iconst_4
            newarray 8
            dup
            iconst_0
            bipush 127
            bastore
            dup
            iconst_3
            iconst_1
            bastore
            astore 0 /* LOCALHOST4_BYTES */
        start local 0 // byte[] LOCALHOST4_BYTES
         7: .line 143
            bipush 16
            newarray 8
            dup
            bipush 15
            iconst_1
            bastore
            astore 1 /* LOCALHOST6_BYTES */
        start local 1 // byte[] LOCALHOST6_BYTES
         8: .line 146
            aconst_null
            astore 2 /* localhost4 */
        start local 2 // java.net.Inet4Address localhost4
         9: .line 148
            ldc "localhost"
            aload 0 /* LOCALHOST4_BYTES */
            invokestatic java.net.InetAddress.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress;
            checkcast java.net.Inet4Address
            astore 2 /* localhost4 */
        10: .line 149
            goto 13
      StackMap locals: byte[] byte[] java.net.Inet4Address
      StackMap stack: java.lang.Exception
        11: astore 3 /* e */
        start local 3 // java.lang.Exception e
        12: .line 151
            aload 3 /* e */
            invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        13: .line 153
      StackMap locals:
      StackMap stack:
            aload 2 /* localhost4 */
            putstatic io.netty.util.NetUtil.LOCALHOST4:Ljava/net/Inet4Address;
        14: .line 156
            aconst_null
            astore 3 /* localhost6 */
        start local 3 // java.net.Inet6Address localhost6
        15: .line 158
            ldc "localhost"
            aload 1 /* LOCALHOST6_BYTES */
            invokestatic java.net.InetAddress.getByAddress:(Ljava/lang/String;[B)Ljava/net/InetAddress;
            checkcast java.net.Inet6Address
            astore 3 /* localhost6 */
        16: .line 159
            goto 19
      StackMap locals: byte[] byte[] java.net.Inet4Address java.net.Inet6Address
      StackMap stack: java.lang.Exception
        17: astore 4 /* e */
        start local 4 // java.lang.Exception e
        18: .line 161
            aload 4 /* e */
            invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
        end local 4 // java.lang.Exception e
        19: .line 163
      StackMap locals:
      StackMap stack:
            aload 3 /* localhost6 */
            putstatic io.netty.util.NetUtil.LOCALHOST6:Ljava/net/Inet6Address;
        20: .line 166
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* ifaces */
        start local 4 // java.util.List ifaces
        21: .line 168
            invokestatic java.net.NetworkInterface.getNetworkInterfaces:()Ljava/util/Enumeration;
            astore 5 /* interfaces */
        start local 5 // java.util.Enumeration interfaces
        22: .line 169
            aload 5 /* interfaces */
            ifnull 31
        23: .line 170
            goto 27
        24: .line 171
      StackMap locals: java.util.List java.util.Enumeration
      StackMap stack:
            aload 5 /* interfaces */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.NetworkInterface
            astore 6 /* iface */
        start local 6 // java.net.NetworkInterface iface
        25: .line 173
            aload 6 /* iface */
            invokestatic io.netty.util.internal.SocketUtils.addressesFromNetworkInterface:(Ljava/net/NetworkInterface;)Ljava/util/Enumeration;
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifeq 27
        26: .line 174
            aload 4 /* ifaces */
            aload 6 /* iface */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.net.NetworkInterface iface
        27: .line 170
      StackMap locals:
      StackMap stack:
            aload 5 /* interfaces */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 24
        end local 5 // java.util.Enumeration interfaces
        28: .line 178
            goto 31
      StackMap locals: byte[] byte[] java.net.Inet4Address java.net.Inet6Address java.util.List
      StackMap stack: java.net.SocketException
        29: astore 5 /* e */
        start local 5 // java.net.SocketException e
        30: .line 179
            getstatic io.netty.util.NetUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Failed to retrieve the list of available network interfaces"
            aload 5 /* e */
            invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 5 // java.net.SocketException e
        31: .line 185
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* loopbackIface */
        start local 5 // java.net.NetworkInterface loopbackIface
        32: .line 186
            aconst_null
            astore 6 /* loopbackAddr */
        start local 6 // java.net.InetAddress loopbackAddr
        33: .line 187
            aload 4 /* ifaces */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 43
      StackMap locals: byte[] byte[] java.net.Inet4Address java.net.Inet6Address java.util.List java.net.NetworkInterface java.net.InetAddress top java.util.Iterator
      StackMap stack:
        34: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.NetworkInterface
            astore 7 /* iface */
        start local 7 // java.net.NetworkInterface iface
        35: .line 188
            aload 7 /* iface */
            invokestatic io.netty.util.internal.SocketUtils.addressesFromNetworkInterface:(Ljava/net/NetworkInterface;)Ljava/util/Enumeration;
            astore 9 /* i */
        start local 9 // java.util.Enumeration i
        36: goto 42
        37: .line 189
      StackMap locals: byte[] byte[] java.net.Inet4Address java.net.Inet6Address java.util.List java.net.NetworkInterface java.net.InetAddress java.net.NetworkInterface java.util.Iterator java.util.Enumeration
      StackMap stack:
            aload 9 /* i */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.InetAddress
            astore 10 /* addr */
        start local 10 // java.net.InetAddress addr
        38: .line 190
            aload 10 /* addr */
            invokevirtual java.net.InetAddress.isLoopbackAddress:()Z
            ifeq 42
        39: .line 192
            aload 7 /* iface */
            astore 5 /* loopbackIface */
        40: .line 193
            aload 10 /* addr */
            astore 6 /* loopbackAddr */
        41: .line 194
            goto 44
        end local 10 // java.net.InetAddress addr
        42: .line 188
      StackMap locals:
      StackMap stack:
            aload 9 /* i */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 37
        end local 9 // java.util.Enumeration i
        end local 7 // java.net.NetworkInterface iface
        43: .line 187
      StackMap locals: byte[] byte[] java.net.Inet4Address java.net.Inet6Address java.util.List java.net.NetworkInterface java.net.InetAddress top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        44: .line 200
      StackMap locals: byte[] byte[] java.net.Inet4Address java.net.Inet6Address java.util.List java.net.NetworkInterface java.net.InetAddress
      StackMap stack:
            aload 5 /* loopbackIface */
            ifnonnull 59
        45: .line 202
            aload 4 /* ifaces */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 53
      StackMap locals: byte[] byte[] java.net.Inet4Address java.net.Inet6Address java.util.List java.net.NetworkInterface java.net.InetAddress top java.util.Iterator
      StackMap stack:
        46: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.NetworkInterface
            astore 7 /* iface */
        start local 7 // java.net.NetworkInterface iface
        47: .line 203
            aload 7 /* iface */
            invokevirtual java.net.NetworkInterface.isLoopback:()Z
            ifeq 53
        48: .line 204
            aload 7 /* iface */
            invokestatic io.netty.util.internal.SocketUtils.addressesFromNetworkInterface:(Ljava/net/NetworkInterface;)Ljava/util/Enumeration;
            astore 9 /* i */
        start local 9 // java.util.Enumeration i
        49: .line 205
            aload 9 /* i */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifeq 53
        50: .line 207
            aload 7 /* iface */
            astore 5 /* loopbackIface */
        51: .line 208
            aload 9 /* i */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.net.InetAddress
            astore 6 /* loopbackAddr */
        52: .line 209
            goto 54
        end local 9 // java.util.Enumeration i
        end local 7 // java.net.NetworkInterface iface
        53: .line 202
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 46
        54: .line 214
      StackMap locals: byte[] byte[] java.net.Inet4Address java.net.Inet6Address java.util.List java.net.NetworkInterface java.net.InetAddress
      StackMap stack:
            aload 5 /* loopbackIface */
            ifnonnull 59
        55: .line 215
            getstatic io.netty.util.NetUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Failed to find the loopback interface"
            invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;)V
        56: .line 217
            goto 59
      StackMap locals:
      StackMap stack: java.net.SocketException
        57: astore 7 /* e */
        start local 7 // java.net.SocketException e
        58: .line 218
            getstatic io.netty.util.NetUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Failed to find the loopback interface"
            aload 7 /* e */
            invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 7 // java.net.SocketException e
        59: .line 222
      StackMap locals:
      StackMap stack:
            aload 5 /* loopbackIface */
            ifnull 65
        60: .line 224
            getstatic io.netty.util.NetUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
        61: .line 225
            ldc "Loopback interface: {} ({}, {})"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        62: .line 226
            aload 5 /* loopbackIface */
            invokevirtual java.net.NetworkInterface.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 5 /* loopbackIface */
            invokevirtual java.net.NetworkInterface.getDisplayName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 6 /* loopbackAddr */
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            aastore
        63: .line 224
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        64: .line 227
            goto 82
        65: .line 230
      StackMap locals:
      StackMap stack:
            aload 6 /* loopbackAddr */
            ifnonnull 82
        66: .line 232
            getstatic io.netty.util.NetUtil.LOCALHOST6:Ljava/net/Inet6Address;
            invokestatic java.net.NetworkInterface.getByInetAddress:(Ljava/net/InetAddress;)Ljava/net/NetworkInterface;
            ifnull 79
        67: .line 233
            getstatic io.netty.util.NetUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Using hard-coded IPv6 localhost address: {}"
            aload 3 /* localhost6 */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        68: .line 234
            aload 3 /* localhost6 */
            astore 6 /* loopbackAddr */
        69: .line 236
            goto 79
      StackMap locals:
      StackMap stack: java.lang.Exception
        70: pop
        71: .line 239
            aload 6 /* loopbackAddr */
            ifnonnull 82
        72: .line 240
            getstatic io.netty.util.NetUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Using hard-coded IPv4 localhost address: {}"
            aload 2 /* localhost4 */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        73: .line 241
            aload 2 /* localhost4 */
            astore 6 /* loopbackAddr */
            goto 82
        74: .line 238
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        75: .line 239
            aload 6 /* loopbackAddr */
            ifnonnull 78
        76: .line 240
            getstatic io.netty.util.NetUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Using hard-coded IPv4 localhost address: {}"
            aload 2 /* localhost4 */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        77: .line 241
            aload 2 /* localhost4 */
            astore 6 /* loopbackAddr */
        78: .line 243
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        79: .line 239
      StackMap locals:
      StackMap stack:
            aload 6 /* loopbackAddr */
            ifnonnull 82
        80: .line 240
            getstatic io.netty.util.NetUtil.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Using hard-coded IPv4 localhost address: {}"
            aload 2 /* localhost4 */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        81: .line 241
            aload 2 /* localhost4 */
            astore 6 /* loopbackAddr */
        82: .line 247
      StackMap locals:
      StackMap stack:
            aload 5 /* loopbackIface */
            putstatic io.netty.util.NetUtil.LOOPBACK_IF:Ljava/net/NetworkInterface;
        83: .line 248
            aload 6 /* loopbackAddr */
            putstatic io.netty.util.NetUtil.LOCALHOST:Ljava/net/InetAddress;
        84: .line 253
            new io.netty.util.NetUtil$1
            dup
            invokespecial io.netty.util.NetUtil$1.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            putstatic io.netty.util.NetUtil.SOMAXCONN:I
        end local 6 // java.net.InetAddress loopbackAddr
        end local 5 // java.net.NetworkInterface loopbackIface
        end local 4 // java.util.List ifaces
        end local 3 // java.net.Inet6Address localhost6
        end local 2 // java.net.Inet4Address localhost4
        end local 1 // byte[] LOCALHOST6_BYTES
        end local 0 // byte[] LOCALHOST4_BYTES
        85: .line 307
            return
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            7   85     0  LOCALHOST4_BYTES  [B
            8   85     1  LOCALHOST6_BYTES  [B
            9   85     2        localhost4  Ljava/net/Inet4Address;
           12   13     3                 e  Ljava/lang/Exception;
           15   85     3        localhost6  Ljava/net/Inet6Address;
           18   19     4                 e  Ljava/lang/Exception;
           21   85     4            ifaces  Ljava/util/List<Ljava/net/NetworkInterface;>;
           22   28     5        interfaces  Ljava/util/Enumeration<Ljava/net/NetworkInterface;>;
           25   27     6             iface  Ljava/net/NetworkInterface;
           30   31     5                 e  Ljava/net/SocketException;
           32   85     5     loopbackIface  Ljava/net/NetworkInterface;
           33   85     6      loopbackAddr  Ljava/net/InetAddress;
           35   43     7             iface  Ljava/net/NetworkInterface;
           36   43     9                 i  Ljava/util/Enumeration<Ljava/net/InetAddress;>;
           38   42    10              addr  Ljava/net/InetAddress;
           47   53     7             iface  Ljava/net/NetworkInterface;
           49   53     9                 i  Ljava/util/Enumeration<Ljava/net/InetAddress;>;
           58   59     7                 e  Ljava/net/SocketException;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.Exception
          15    16      17  Class java.lang.Exception
          21    28      29  Class java.net.SocketException
          45    56      57  Class java.net.SocketException
          66    69      70  Class java.lang.Exception
          66    71      74  any

  private static java.lang.Integer sysctlGetInt(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Integer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=1
        start local 0 // java.lang.String sysctlKey
         0: .line 316
            new java.lang.ProcessBuilder
            dup
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            ldc "sysctl"
            aastore
            dup
            iconst_1
            aload 0 /* sysctlKey */
            aastore
            invokespecial java.lang.ProcessBuilder.<init>:([Ljava/lang/String;)V
            invokevirtual java.lang.ProcessBuilder.start:()Ljava/lang/Process;
            astore 1 /* process */
        start local 1 // java.lang.Process process
         1: .line 318
            aload 1 /* process */
            invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
            astore 2 /* is */
        start local 2 // java.io.InputStream is
         2: .line 319
            new java.io.InputStreamReader
            dup
            aload 2 /* is */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            astore 3 /* isr */
        start local 3 // java.io.InputStreamReader isr
         3: .line 320
            new java.io.BufferedReader
            dup
            aload 3 /* isr */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 4 /* br */
        start local 4 // java.io.BufferedReader br
         4: .line 322
            aload 4 /* br */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 5 /* line */
        start local 5 // java.lang.String line
         5: .line 323
            aload 5 /* line */
            aload 0 /* sysctlKey */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 16
         6: .line 324
            aload 5 /* line */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 6 /* i */
        start local 6 // int i
         7: goto 15
         8: .line 325
      StackMap locals: java.lang.String java.lang.Process java.io.InputStream java.io.InputStreamReader java.io.BufferedReader java.lang.String int
      StackMap stack:
            aload 5 /* line */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isDigit:(C)Z
            ifne 14
         9: .line 326
            aload 5 /* line */
            iload 6 /* i */
            iconst_1
            iadd
            aload 5 /* line */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            astore 8
        10: .line 332
            aload 4 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        11: .line 335
            aload 1 /* process */
            ifnull 13
        12: .line 336
            aload 1 /* process */
            invokevirtual java.lang.Process.destroy:()V
        13: .line 326
      StackMap locals: java.lang.String java.lang.Process java.io.InputStream java.io.InputStreamReader java.io.BufferedReader java.lang.String int top java.lang.Integer
      StackMap stack:
            aload 8
            areturn
        14: .line 324
      StackMap locals: java.lang.String java.lang.Process java.io.InputStream java.io.InputStreamReader java.io.BufferedReader java.lang.String int
      StackMap stack:
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
        15: iload 6 /* i */
            aload 0 /* sysctlKey */
            invokevirtual java.lang.String.length:()I
            if_icmpgt 8
        end local 6 // int i
        16: .line 332
      StackMap locals:
      StackMap stack:
            aload 4 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        17: .line 335
            aload 1 /* process */
            ifnull 19
        18: .line 336
            aload 1 /* process */
            invokevirtual java.lang.Process.destroy:()V
        19: .line 330
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // java.lang.String line
        20: .line 331
      StackMap locals: java.lang.String java.lang.Process java.io.InputStream java.io.InputStreamReader java.io.BufferedReader
      StackMap stack: java.lang.Throwable
            astore 7
        21: .line 332
            aload 4 /* br */
            invokevirtual java.io.BufferedReader.close:()V
        22: .line 333
            aload 7
            athrow
        end local 4 // java.io.BufferedReader br
        end local 3 // java.io.InputStreamReader isr
        end local 2 // java.io.InputStream is
        23: .line 334
      StackMap locals: java.lang.String java.lang.Process
      StackMap stack: java.lang.Throwable
            astore 9
        24: .line 335
            aload 1 /* process */
            ifnull 26
        25: .line 336
            aload 1 /* process */
            invokevirtual java.lang.Process.destroy:()V
        26: .line 338
      StackMap locals: java.lang.String java.lang.Process top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 9
            athrow
        end local 1 // java.lang.Process process
        end local 0 // java.lang.String sysctlKey
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0  sysctlKey  Ljava/lang/String;
            1   27     1    process  Ljava/lang/Process;
            2   23     2         is  Ljava/io/InputStream;
            3   23     3        isr  Ljava/io/InputStreamReader;
            4   23     4         br  Ljava/io/BufferedReader;
            5   20     5       line  Ljava/lang/String;
            7   16     6          i  I
      Exception table:
        from    to  target  type
           4    10      20  any
          14    16      20  any
           1    11      23  any
          14    17      23  any
          20    23      23  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      sysctlKey  

  public static boolean isIpV4StackPreferred();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 349
            getstatic io.netty.util.NetUtil.IPV4_PREFERRED:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean isIpV6AddressesPreferred();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 360
            getstatic io.netty.util.NetUtil.IPV6_ADDRESSES_PREFERRED:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static byte[] createByteArrayFromIpAddressString(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String ipAddressString
         0: .line 368
            aload 0 /* ipAddressString */
            invokestatic io.netty.util.NetUtil.isValidIpV4Address:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 369
            aload 0 /* ipAddressString */
            invokestatic io.netty.util.NetUtil.validIpV4ToBytes:(Ljava/lang/String;)[B
            areturn
         2: .line 372
      StackMap locals:
      StackMap stack:
            aload 0 /* ipAddressString */
            invokestatic io.netty.util.NetUtil.isValidIpV6Address:(Ljava/lang/String;)Z
            ifeq 9
         3: .line 373
            aload 0 /* ipAddressString */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpne 5
         4: .line 374
            aload 0 /* ipAddressString */
            iconst_1
            aload 0 /* ipAddressString */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 0 /* ipAddressString */
         5: .line 377
      StackMap locals:
      StackMap stack:
            aload 0 /* ipAddressString */
            bipush 37
            invokevirtual java.lang.String.indexOf:(I)I
            istore 1 /* percentPos */
        start local 1 // int percentPos
         6: .line 378
            iload 1 /* percentPos */
            iflt 8
         7: .line 379
            aload 0 /* ipAddressString */
            iconst_0
            iload 1 /* percentPos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 0 /* ipAddressString */
         8: .line 382
      StackMap locals: int
      StackMap stack:
            aload 0 /* ipAddressString */
            iconst_1
            invokestatic io.netty.util.NetUtil.getIPv6ByName:(Ljava/lang/CharSequence;Z)[B
            areturn
        end local 1 // int percentPos
         9: .line 384
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.String ipAddressString
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0  ipAddressString  Ljava/lang/String;
            6    9     1       percentPos  I
    MethodParameters:
                 Name  Flags
      ipAddressString  

  private static int decimalDigit(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String str
        start local 1 // int pos
         0: .line 388
            aload 0 /* str */
            iload 1 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 48
            isub
            ireturn
        end local 1 // int pos
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   str  Ljava/lang/String;
            0    1     1   pos  I
    MethodParameters:
      Name  Flags
      str   
      pos   

  private static byte ipv4WordToByte(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.String ip
        start local 1 // int from
        start local 2 // int toExclusive
         0: .line 392
            aload 0 /* ip */
            iload 1 /* from */
            invokestatic io.netty.util.NetUtil.decimalDigit:(Ljava/lang/String;I)I
            istore 3 /* ret */
        start local 3 // int ret
         1: .line 393
            iinc 1 /* from */ 1
         2: .line 394
            iload 1 /* from */
            iload 2 /* toExclusive */
            if_icmpne 4
         3: .line 395
            iload 3 /* ret */
            i2b
            ireturn
         4: .line 397
      StackMap locals: int
      StackMap stack:
            iload 3 /* ret */
            bipush 10
            imul
            aload 0 /* ip */
            iload 1 /* from */
            invokestatic io.netty.util.NetUtil.decimalDigit:(Ljava/lang/String;I)I
            iadd
            istore 3 /* ret */
         5: .line 398
            iinc 1 /* from */ 1
         6: .line 399
            iload 1 /* from */
            iload 2 /* toExclusive */
            if_icmpne 8
         7: .line 400
            iload 3 /* ret */
            i2b
            ireturn
         8: .line 402
      StackMap locals:
      StackMap stack:
            iload 3 /* ret */
            bipush 10
            imul
            aload 0 /* ip */
            iload 1 /* from */
            invokestatic io.netty.util.NetUtil.decimalDigit:(Ljava/lang/String;I)I
            iadd
            i2b
            ireturn
        end local 3 // int ret
        end local 2 // int toExclusive
        end local 1 // int from
        end local 0 // java.lang.String ip
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0           ip  Ljava/lang/String;
            0    9     1         from  I
            0    9     2  toExclusive  I
            1    9     3          ret  I
    MethodParameters:
             Name  Flags
      ip           
      from         
      toExclusive  

  static byte[] validIpV4ToBytes(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // java.lang.String ip
         0: .line 408
            iconst_4
            newarray 8
            dup
            iconst_0
         1: .line 409
            aload 0 /* ip */
            iconst_0
            aload 0 /* ip */
            bipush 46
            iconst_1
            invokevirtual java.lang.String.indexOf:(II)I
            dup
            istore 1 /* i */
        start local 1 // int i
         2: invokestatic io.netty.util.NetUtil.ipv4WordToByte:(Ljava/lang/String;II)B
            bastore
            dup
            iconst_1
         3: .line 410
            aload 0 /* ip */
            iload 1 /* i */
            iconst_1
            iadd
            aload 0 /* ip */
            bipush 46
            iload 1 /* i */
            iconst_2
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            dup
            istore 1 /* i */
            invokestatic io.netty.util.NetUtil.ipv4WordToByte:(Ljava/lang/String;II)B
            bastore
            dup
            iconst_2
         4: .line 411
            aload 0 /* ip */
            iload 1 /* i */
            iconst_1
            iadd
            aload 0 /* ip */
            bipush 46
            iload 1 /* i */
            iconst_2
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            dup
            istore 1 /* i */
            invokestatic io.netty.util.NetUtil.ipv4WordToByte:(Ljava/lang/String;II)B
            bastore
            dup
            iconst_3
         5: .line 412
            aload 0 /* ip */
            iload 1 /* i */
            iconst_1
            iadd
            aload 0 /* ip */
            invokevirtual java.lang.String.length:()I
            invokestatic io.netty.util.NetUtil.ipv4WordToByte:(Ljava/lang/String;II)B
            bastore
         6: .line 408
            areturn
        end local 1 // int i
        end local 0 // java.lang.String ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    ip  Ljava/lang/String;
            2    7     1     i  I
    MethodParameters:
      Name  Flags
      ip    

  public static java.lang.String intToIpAddress(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // int i
         0: .line 420
            new java.lang.StringBuilder
            dup
            bipush 15
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 421
            aload 1 /* buf */
            iload 0 /* i */
            bipush 24
            ishr
            sipush 255
            iand
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         2: .line 422
            aload 1 /* buf */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 423
            aload 1 /* buf */
            iload 0 /* i */
            bipush 16
            ishr
            sipush 255
            iand
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         4: .line 424
            aload 1 /* buf */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 425
            aload 1 /* buf */
            iload 0 /* i */
            bipush 8
            ishr
            sipush 255
            iand
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         6: .line 426
            aload 1 /* buf */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 427
            aload 1 /* buf */
            iload 0 /* i */
            sipush 255
            iand
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         8: .line 428
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     i  I
            1    9     1   buf  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      i     

  public static java.lang.String bytesToIpAddress(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // byte[] bytes
         0: .line 438
            aload 0 /* bytes */
            iconst_0
            aload 0 /* bytes */
            arraylength
            invokestatic io.netty.util.NetUtil.bytesToIpAddress:([BII)Ljava/lang/String;
            areturn
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  

  public static java.lang.String bytesToIpAddress(byte[], int, int);
    descriptor: ([BII)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // byte[] bytes
        start local 1 // int offset
        start local 2 // int length
         0: .line 448
            iload 2 /* length */
            lookupswitch { // 2
                    4: 1
                   16: 10
              default: 11
          }
         1: .line 450
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 15
            invokespecial java.lang.StringBuilder.<init>:(I)V
         2: .line 451
            aload 0 /* bytes */
            iload 1 /* offset */
            baload
            sipush 255
            iand
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 452
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         4: .line 453
            aload 0 /* bytes */
            iload 1 /* offset */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         5: .line 454
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         6: .line 455
            aload 0 /* bytes */
            iload 1 /* offset */
            iconst_2
            iadd
            baload
            sipush 255
            iand
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         7: .line 456
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         8: .line 457
            aload 0 /* bytes */
            iload 1 /* offset */
            iconst_3
            iadd
            baload
            sipush 255
            iand
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 450
            areturn
        10: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* bytes */
            iload 1 /* offset */
            iconst_0
            invokestatic io.netty.util.NetUtil.toAddressString:([BIZ)Ljava/lang/String;
            areturn
        11: .line 462
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "length: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " (expected: 4 or 16)"
            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
        end local 2 // int length
        end local 1 // int offset
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0   bytes  [B
            0   12     1  offset  I
            0   12     2  length  I
    MethodParameters:
        Name  Flags
      bytes   
      offset  
      length  

  public static boolean isValidIpV6Address(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String ip
         0: .line 467
            aload 0 /* ip */
            invokestatic io.netty.util.NetUtil.isValidIpV6Address:(Ljava/lang/CharSequence;)Z
            ireturn
        end local 0 // java.lang.String ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ip  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      ip    

  public static boolean isValidIpV6Address(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // java.lang.CharSequence ip
         0: .line 471
            aload 0 /* ip */
            invokeinterface java.lang.CharSequence.length:()I
            istore 1 /* end */
        start local 1 // int end
         1: .line 472
            iload 1 /* end */
            iconst_2
            if_icmpge 3
         2: .line 473
            iconst_0
            ireturn
         3: .line 478
      StackMap locals: int
      StackMap stack:
            aload 0 /* ip */
            iconst_0
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         4: .line 479
            iload 3 /* c */
            bipush 91
            if_icmpne 11
         5: .line 480
            iinc 1 /* end */ -1
         6: .line 481
            aload 0 /* ip */
            iload 1 /* end */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 93
            if_icmpeq 8
         7: .line 483
            iconst_0
            ireturn
         8: .line 485
      StackMap locals: java.lang.CharSequence int top int
      StackMap stack:
            iconst_1
            istore 2 /* start */
        start local 2 // int start
         9: .line 486
            aload 0 /* ip */
            iconst_1
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 3 /* c */
        10: .line 487
            goto 12
        end local 2 // int start
        11: .line 488
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* start */
        start local 2 // int start
        12: .line 493
      StackMap locals: java.lang.CharSequence int int int
      StackMap stack:
            iload 3 /* c */
            bipush 58
            if_icmpne 19
        13: .line 495
            aload 0 /* ip */
            iload 2 /* start */
            iconst_1
            iadd
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpeq 15
        14: .line 496
            iconst_0
            ireturn
        15: .line 498
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 4 /* colons */
        start local 4 // int colons
        16: .line 499
            iload 2 /* start */
            istore 5 /* compressBegin */
        start local 5 // int compressBegin
        17: .line 500
            iinc 2 /* start */ 2
        18: .line 501
            goto 21
        end local 5 // int compressBegin
        end local 4 // int colons
        19: .line 502
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* colons */
        start local 4 // int colons
        20: .line 503
            iconst_m1
            istore 5 /* compressBegin */
        start local 5 // int compressBegin
        21: .line 506
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 6 /* wordLen */
        start local 6 // int wordLen
        22: .line 508
            iload 2 /* start */
            istore 7 /* i */
        start local 7 // int i
        23: goto 67
        24: .line 509
      StackMap locals: int int
      StackMap stack:
            aload 0 /* ip */
            iload 7 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 3 /* c */
        25: .line 510
            iload 3 /* c */
            invokestatic io.netty.util.NetUtil.isValidHexChar:(C)Z
            ifeq 30
        26: .line 511
            iload 6 /* wordLen */
            iconst_4
            if_icmpge 29
        27: .line 512
            iinc 6 /* wordLen */ 1
        28: .line 513
            goto 66
        29: .line 515
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        30: .line 518
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            lookupswitch { // 3
                   37: 63
                   46: 41
                   58: 31
              default: 65
          }
        31: .line 520
      StackMap locals:
      StackMap stack:
            iload 4 /* colons */
            bipush 7
            if_icmple 33
        32: .line 521
            iconst_0
            ireturn
        33: .line 523
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            iload 7 /* i */
            iconst_1
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpne 38
        34: .line 524
            iload 5 /* compressBegin */
            iflt 36
        35: .line 525
            iconst_0
            ireturn
        36: .line 527
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            iconst_1
            isub
            istore 5 /* compressBegin */
        37: .line 528
            goto 39
        38: .line 529
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* wordLen */
        39: .line 531
      StackMap locals:
      StackMap stack:
            iinc 4 /* colons */ 1
        40: .line 532
            goto 66
        41: .line 537
      StackMap locals:
      StackMap stack:
            iload 5 /* compressBegin */
            ifge 42
            iload 4 /* colons */
            bipush 6
            if_icmpne 44
        42: .line 540
      StackMap locals:
      StackMap stack:
            iload 4 /* colons */
            bipush 7
            if_icmpne 43
            iload 5 /* compressBegin */
            iload 2 /* start */
            if_icmpge 44
      StackMap locals:
      StackMap stack:
        43: iload 4 /* colons */
            bipush 7
            if_icmple 45
        44: .line 541
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        45: .line 547
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            iload 6 /* wordLen */
            isub
            istore 8 /* ipv4Start */
        start local 8 // int ipv4Start
        46: .line 548
            iload 8 /* ipv4Start */
            iconst_2
            isub
            istore 9 /* j */
        start local 9 // int j
        47: .line 549
            aload 0 /* ip */
            iload 9 /* j */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic io.netty.util.NetUtil.isValidIPv4MappedChar:(C)Z
            ifeq 58
        48: .line 550
            aload 0 /* ip */
            iload 9 /* j */
            iconst_1
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic io.netty.util.NetUtil.isValidIPv4MappedChar:(C)Z
            ifeq 51
        49: .line 551
            aload 0 /* ip */
            iload 9 /* j */
            iconst_2
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic io.netty.util.NetUtil.isValidIPv4MappedChar:(C)Z
            ifeq 51
        50: .line 552
            aload 0 /* ip */
            iload 9 /* j */
            iconst_3
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic io.netty.util.NetUtil.isValidIPv4MappedChar:(C)Z
            ifne 52
        51: .line 553
      StackMap locals: int int
      StackMap stack:
            iconst_0
            ireturn
        52: .line 555
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ -5
        53: .line 558
            goto 58
        54: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            iload 9 /* j */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 10 /* tmpChar */
        start local 10 // char tmpChar
        55: .line 560
            iload 10 /* tmpChar */
            bipush 48
            if_icmpeq 57
            iload 10 /* tmpChar */
            bipush 58
            if_icmpeq 57
        56: .line 561
            iconst_0
            ireturn
        end local 10 // char tmpChar
        57: .line 558
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ -1
      StackMap locals:
      StackMap stack:
        58: iload 9 /* j */
            iload 2 /* start */
            if_icmpge 54
        59: .line 566
            aload 0 /* ip */
            bipush 37
            iload 8 /* ipv4Start */
            bipush 7
            iadd
            invokestatic io.netty.util.AsciiString.indexOf:(Ljava/lang/CharSequence;CI)I
            istore 10 /* ipv4End */
        start local 10 // int ipv4End
        60: .line 567
            iload 10 /* ipv4End */
            ifge 62
        61: .line 568
            iload 1 /* end */
            istore 10 /* ipv4End */
        62: .line 570
      StackMap locals: int
      StackMap stack:
            aload 0 /* ip */
            iload 8 /* ipv4Start */
            iload 10 /* ipv4End */
            invokestatic io.netty.util.NetUtil.isValidIpV4Address:(Ljava/lang/CharSequence;II)Z
            ireturn
        end local 10 // int ipv4End
        end local 9 // int j
        end local 8 // int ipv4Start
        63: .line 573
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            istore 1 /* end */
        64: .line 574
            goto 68
        65: .line 576
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        66: .line 508
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        67: iload 7 /* i */
            iload 1 /* end */
            if_icmplt 24
        end local 7 // int i
        68: .line 581
      StackMap locals:
      StackMap stack:
            iload 5 /* compressBegin */
            ifge 71
        69: .line 582
            iload 4 /* colons */
            bipush 7
            if_icmpne 70
            iload 6 /* wordLen */
            ifle 70
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        70: iconst_0
            ireturn
        71: .line 585
      StackMap locals:
      StackMap stack:
            iload 5 /* compressBegin */
            iconst_2
            iadd
            iload 1 /* end */
            if_icmpeq 75
        72: .line 587
            iload 6 /* wordLen */
            ifle 74
            iload 4 /* colons */
            bipush 8
            if_icmplt 75
            iload 5 /* compressBegin */
            iload 2 /* start */
        73: .line 585
            if_icmple 75
      StackMap locals:
      StackMap stack:
        74: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        75: iconst_1
            ireturn
        end local 6 // int wordLen
        end local 5 // int compressBegin
        end local 4 // int colons
        end local 3 // char c
        end local 2 // int start
        end local 1 // int end
        end local 0 // java.lang.CharSequence ip
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   76     0             ip  Ljava/lang/CharSequence;
            1   76     1            end  I
            9   11     2          start  I
           12   76     2          start  I
            4   76     3              c  C
           16   19     4         colons  I
           20   76     4         colons  I
           17   19     5  compressBegin  I
           21   76     5  compressBegin  I
           22   76     6        wordLen  I
           23   68     7              i  I
           46   63     8      ipv4Start  I
           47   63     9              j  I
           55   57    10        tmpChar  C
           60   63    10        ipv4End  I
    MethodParameters:
      Name  Flags
      ip    

  private static boolean isValidIpV4Word(java.lang.CharSequence, int, int);
    descriptor: (Ljava/lang/CharSequence;II)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.lang.CharSequence word
        start local 1 // int from
        start local 2 // int toExclusive
         0: .line 591
            iload 2 /* toExclusive */
            iload 1 /* from */
            isub
            istore 3 /* len */
        start local 3 // int len
         1: .line 593
            iload 3 /* len */
            iconst_1
            if_icmplt 3
            iload 3 /* len */
            iconst_3
            if_icmpgt 3
            aload 0 /* word */
            iload 1 /* from */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            dup
            istore 4 /* c0 */
        start local 4 // char c0
         2: bipush 48
            if_icmpge 4
        end local 4 // char c0
         3: .line 594
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
        start local 4 // char c0
         4: .line 596
      StackMap locals: int
      StackMap stack:
            iload 3 /* len */
            iconst_3
            if_icmpne 14
         5: .line 597
            aload 0 /* word */
            iload 1 /* from */
            iconst_1
            iadd
            invokeinterface java.lang.CharSequence.charAt:(I)C
            dup
            istore 5 /* c1 */
        start local 5 // char c1
         6: bipush 48
            if_icmplt 13
         7: .line 598
            aload 0 /* word */
            iload 1 /* from */
            iconst_2
            iadd
            invokeinterface java.lang.CharSequence.charAt:(I)C
            dup
            istore 6 /* c2 */
        start local 6 // char c2
         8: bipush 48
            if_icmplt 13
         9: .line 599
            iload 4 /* c0 */
            bipush 49
            if_icmpgt 10
            iload 5 /* c1 */
            bipush 57
            if_icmpgt 10
            iload 6 /* c2 */
            bipush 57
            if_icmple 12
        10: .line 600
      StackMap locals: int int
      StackMap stack:
            iload 4 /* c0 */
            bipush 50
            if_icmpne 13
            iload 5 /* c1 */
            bipush 53
            if_icmpgt 13
            iload 6 /* c2 */
            bipush 53
            if_icmple 12
            iload 5 /* c1 */
            bipush 53
            if_icmpge 13
            iload 6 /* c2 */
            bipush 57
        11: .line 597
            if_icmpgt 13
        end local 6 // char c2
      StackMap locals:
      StackMap stack:
        12: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        13: iconst_0
            ireturn
        end local 5 // char c1
        14: .line 602
      StackMap locals:
      StackMap stack:
            iload 4 /* c0 */
            bipush 57
            if_icmpgt 16
            iload 3 /* len */
            iconst_1
            if_icmpeq 15
            aload 0 /* word */
            iload 1 /* from */
            iconst_1
            iadd
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic io.netty.util.NetUtil.isValidNumericChar:(C)Z
            ifeq 16
      StackMap locals:
      StackMap stack:
        15: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        16: iconst_0
            ireturn
        end local 4 // char c0
        end local 3 // int len
        end local 2 // int toExclusive
        end local 1 // int from
        end local 0 // java.lang.CharSequence word
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         word  Ljava/lang/CharSequence;
            0   17     1         from  I
            0   17     2  toExclusive  I
            1   17     3          len  I
            2    3     4           c0  C
            4   17     4           c0  C
            6   14     5           c1  C
            8   12     6           c2  C
    MethodParameters:
             Name  Flags
      word         
      from         
      toExclusive  

  private static boolean isValidHexChar(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 606
            iload 0 /* c */
            bipush 48
            if_icmplt 1
            iload 0 /* c */
            bipush 57
            if_icmple 4
      StackMap locals:
      StackMap stack:
         1: iload 0 /* c */
            bipush 65
            if_icmplt 2
            iload 0 /* c */
            bipush 70
            if_icmple 4
      StackMap locals:
      StackMap stack:
         2: iload 0 /* c */
            bipush 97
            if_icmplt 3
            iload 0 /* c */
            bipush 102
            if_icmple 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     c  C
    MethodParameters:
      Name  Flags
      c     

  private static boolean isValidNumericChar(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 610
            iload 0 /* c */
            bipush 48
            if_icmplt 1
            iload 0 /* c */
            bipush 57
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  C
    MethodParameters:
      Name  Flags
      c     

  private static boolean isValidIPv4MappedChar(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 614
            iload 0 /* c */
            bipush 102
            if_icmpeq 1
            iload 0 /* c */
            bipush 70
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     c  C
    MethodParameters:
      Name  Flags
      c     

  private static boolean isValidIPv4MappedSeparators(byte, byte, boolean);
    descriptor: (BBZ)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // byte b0
        start local 1 // byte b1
        start local 2 // boolean mustBeZero
         0: .line 621
            iload 0 /* b0 */
            iload 1 /* b1 */
            if_icmpne 2
            iload 0 /* b0 */
            ifeq 1
            iload 2 /* mustBeZero */
            ifne 2
            iload 1 /* b1 */
            iconst_m1
            if_icmpne 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // boolean mustBeZero
        end local 1 // byte b1
        end local 0 // byte b0
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0          b0  B
            0    3     1          b1  B
            0    3     2  mustBeZero  Z
    MethodParameters:
            Name  Flags
      b0          
      b1          
      mustBeZero  

  private static boolean isValidIPv4Mapped(byte[], int, int, int);
    descriptor: ([BIII)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // byte[] bytes
        start local 1 // int currentIndex
        start local 2 // int compressBegin
        start local 3 // int compressLength
         0: .line 625
            iload 2 /* compressBegin */
            iload 3 /* compressLength */
            iadd
            bipush 14
            if_icmplt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* mustBeZero */
        start local 4 // boolean mustBeZero
         3: .line 626
            iload 1 /* currentIndex */
            bipush 12
            if_icmpgt 7
            iload 1 /* currentIndex */
            iconst_2
            if_icmplt 7
            iload 4 /* mustBeZero */
            ifeq 4
            iload 2 /* compressBegin */
            bipush 12
            if_icmpge 7
         4: .line 627
      StackMap locals: int
      StackMap stack:
            aload 0 /* bytes */
            iload 1 /* currentIndex */
            iconst_1
            isub
            baload
            aload 0 /* bytes */
            iload 1 /* currentIndex */
            iconst_2
            isub
            baload
            iload 4 /* mustBeZero */
            invokestatic io.netty.util.NetUtil.isValidIPv4MappedSeparators:(BBZ)Z
            ifeq 7
         5: .line 628
            aload 0 /* bytes */
            iconst_0
            iload 1 /* currentIndex */
            iconst_3
            isub
            invokestatic io.netty.util.internal.PlatformDependent.isZero:([BII)Z
            ifeq 7
         6: .line 626
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 4 // boolean mustBeZero
        end local 3 // int compressLength
        end local 2 // int compressBegin
        end local 1 // int currentIndex
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0           bytes  [B
            0    8     1    currentIndex  I
            0    8     2   compressBegin  I
            0    8     3  compressLength  I
            3    8     4      mustBeZero  Z
    MethodParameters:
                Name  Flags
      bytes           
      currentIndex    
      compressBegin   
      compressLength  

  public static boolean isValidIpV4Address(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.CharSequence ip
         0: .line 638
            aload 0 /* ip */
            iconst_0
            aload 0 /* ip */
            invokeinterface java.lang.CharSequence.length:()I
            invokestatic io.netty.util.NetUtil.isValidIpV4Address:(Ljava/lang/CharSequence;II)Z
            ireturn
        end local 0 // java.lang.CharSequence ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ip  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      ip    

  public static boolean isValidIpV4Address(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String ip
         0: .line 648
            aload 0 /* ip */
            iconst_0
            aload 0 /* ip */
            invokevirtual java.lang.String.length:()I
            invokestatic io.netty.util.NetUtil.isValidIpV4Address:(Ljava/lang/String;II)Z
            ireturn
        end local 0 // java.lang.String ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ip  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      ip    

  private static boolean isValidIpV4Address(java.lang.CharSequence, int, int);
    descriptor: (Ljava/lang/CharSequence;II)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.CharSequence ip
        start local 1 // int from
        start local 2 // int toExcluded
         0: .line 652
            aload 0 /* ip */
            instanceof java.lang.String
            ifeq 1
            aload 0 /* ip */
            checkcast java.lang.String
            iload 1 /* from */
            iload 2 /* toExcluded */
            invokestatic io.netty.util.NetUtil.isValidIpV4Address:(Ljava/lang/String;II)Z
            goto 3
         1: .line 653
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            instanceof io.netty.util.AsciiString
            ifeq 2
            aload 0 /* ip */
            checkcast io.netty.util.AsciiString
            iload 1 /* from */
            iload 2 /* toExcluded */
            invokestatic io.netty.util.NetUtil.isValidIpV4Address:(Lio/netty/util/AsciiString;II)Z
            goto 3
         2: .line 654
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            iload 1 /* from */
            iload 2 /* toExcluded */
            invokestatic io.netty.util.NetUtil.isValidIpV4Address0:(Ljava/lang/CharSequence;II)Z
         3: .line 652
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 2 // int toExcluded
        end local 1 // int from
        end local 0 // java.lang.CharSequence ip
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0          ip  Ljava/lang/CharSequence;
            0    4     1        from  I
            0    4     2  toExcluded  I
    MethodParameters:
            Name  Flags
      ip          
      from        
      toExcluded  

  private static boolean isValidIpV4Address(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.String ip
        start local 1 // int from
        start local 2 // int toExcluded
         0: .line 659
            iload 2 /* toExcluded */
            iload 1 /* from */
            isub
            istore 3 /* len */
        start local 3 // int len
         1: .line 661
            iload 3 /* len */
            bipush 15
            if_icmpgt 8
            iload 3 /* len */
            bipush 7
            if_icmplt 8
         2: .line 662
            aload 0 /* ip */
            bipush 46
            iload 1 /* from */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            dup
            istore 4 /* i */
        start local 4 // int i
         3: ifle 8
            aload 0 /* ip */
            iload 1 /* from */
            iload 4 /* i */
            invokestatic io.netty.util.NetUtil.isValidIpV4Word:(Ljava/lang/CharSequence;II)Z
            ifeq 8
         4: .line 663
            aload 0 /* ip */
            bipush 46
            iload 4 /* i */
            iconst_2
            iadd
            dup
            istore 1 /* from */
            invokevirtual java.lang.String.indexOf:(II)I
            dup
            istore 4 /* i */
            ifle 8
            aload 0 /* ip */
            iload 1 /* from */
            iconst_1
            isub
            iload 4 /* i */
            invokestatic io.netty.util.NetUtil.isValidIpV4Word:(Ljava/lang/CharSequence;II)Z
            ifeq 8
         5: .line 664
            aload 0 /* ip */
            bipush 46
            iload 4 /* i */
            iconst_2
            iadd
            dup
            istore 1 /* from */
            invokevirtual java.lang.String.indexOf:(II)I
            dup
            istore 4 /* i */
            ifle 8
            aload 0 /* ip */
            iload 1 /* from */
            iconst_1
            isub
            iload 4 /* i */
            invokestatic io.netty.util.NetUtil.isValidIpV4Word:(Ljava/lang/CharSequence;II)Z
            ifeq 8
         6: .line 665
            aload 0 /* ip */
            iload 4 /* i */
            iconst_1
            iadd
            iload 2 /* toExcluded */
            invokestatic io.netty.util.NetUtil.isValidIpV4Word:(Ljava/lang/CharSequence;II)Z
            ifeq 8
        end local 4 // int i
         7: .line 661
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         8: iconst_0
            ireturn
        end local 3 // int len
        end local 2 // int toExcluded
        end local 1 // int from
        end local 0 // java.lang.String ip
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0          ip  Ljava/lang/String;
            0    9     1        from  I
            0    9     2  toExcluded  I
            1    9     3         len  I
            3    7     4           i  I
    MethodParameters:
            Name  Flags
      ip          
      from        
      toExcluded  

  private static boolean isValidIpV4Address(io.netty.util.AsciiString, int, int);
    descriptor: (Lio/netty/util/AsciiString;II)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.netty.util.AsciiString ip
        start local 1 // int from
        start local 2 // int toExcluded
         0: .line 670
            iload 2 /* toExcluded */
            iload 1 /* from */
            isub
            istore 3 /* len */
        start local 3 // int len
         1: .line 672
            iload 3 /* len */
            bipush 15
            if_icmpgt 8
            iload 3 /* len */
            bipush 7
            if_icmplt 8
         2: .line 673
            aload 0 /* ip */
            bipush 46
            iload 1 /* from */
            iconst_1
            iadd
            invokevirtual io.netty.util.AsciiString.indexOf:(CI)I
            dup
            istore 4 /* i */
        start local 4 // int i
         3: ifle 8
            aload 0 /* ip */
            iload 1 /* from */
            iload 4 /* i */
            invokestatic io.netty.util.NetUtil.isValidIpV4Word:(Ljava/lang/CharSequence;II)Z
            ifeq 8
         4: .line 674
            aload 0 /* ip */
            bipush 46
            iload 4 /* i */
            iconst_2
            iadd
            dup
            istore 1 /* from */
            invokevirtual io.netty.util.AsciiString.indexOf:(CI)I
            dup
            istore 4 /* i */
            ifle 8
            aload 0 /* ip */
            iload 1 /* from */
            iconst_1
            isub
            iload 4 /* i */
            invokestatic io.netty.util.NetUtil.isValidIpV4Word:(Ljava/lang/CharSequence;II)Z
            ifeq 8
         5: .line 675
            aload 0 /* ip */
            bipush 46
            iload 4 /* i */
            iconst_2
            iadd
            dup
            istore 1 /* from */
            invokevirtual io.netty.util.AsciiString.indexOf:(CI)I
            dup
            istore 4 /* i */
            ifle 8
            aload 0 /* ip */
            iload 1 /* from */
            iconst_1
            isub
            iload 4 /* i */
            invokestatic io.netty.util.NetUtil.isValidIpV4Word:(Ljava/lang/CharSequence;II)Z
            ifeq 8
         6: .line 676
            aload 0 /* ip */
            iload 4 /* i */
            iconst_1
            iadd
            iload 2 /* toExcluded */
            invokestatic io.netty.util.NetUtil.isValidIpV4Word:(Ljava/lang/CharSequence;II)Z
            ifeq 8
        end local 4 // int i
         7: .line 672
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         8: iconst_0
            ireturn
        end local 3 // int len
        end local 2 // int toExcluded
        end local 1 // int from
        end local 0 // io.netty.util.AsciiString ip
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0          ip  Lio/netty/util/AsciiString;
            0    9     1        from  I
            0    9     2  toExcluded  I
            1    9     3         len  I
            3    7     4           i  I
    MethodParameters:
            Name  Flags
      ip          
      from        
      toExcluded  

  private static boolean isValidIpV4Address0(java.lang.CharSequence, int, int);
    descriptor: (Ljava/lang/CharSequence;II)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.CharSequence ip
        start local 1 // int from
        start local 2 // int toExcluded
         0: .line 681
            iload 2 /* toExcluded */
            iload 1 /* from */
            isub
            istore 3 /* len */
        start local 3 // int len
         1: .line 683
            iload 3 /* len */
            bipush 15
            if_icmpgt 8
            iload 3 /* len */
            bipush 7
            if_icmplt 8
         2: .line 684
            aload 0 /* ip */
            bipush 46
            iload 1 /* from */
            iconst_1
            iadd
            invokestatic io.netty.util.AsciiString.indexOf:(Ljava/lang/CharSequence;CI)I
            dup
            istore 4 /* i */
        start local 4 // int i
         3: ifle 8
            aload 0 /* ip */
            iload 1 /* from */
            iload 4 /* i */
            invokestatic io.netty.util.NetUtil.isValidIpV4Word:(Ljava/lang/CharSequence;II)Z
            ifeq 8
         4: .line 685
            aload 0 /* ip */
            bipush 46
            iload 4 /* i */
            iconst_2
            iadd
            dup
            istore 1 /* from */
            invokestatic io.netty.util.AsciiString.indexOf:(Ljava/lang/CharSequence;CI)I
            dup
            istore 4 /* i */
            ifle 8
            aload 0 /* ip */
            iload 1 /* from */
            iconst_1
            isub
            iload 4 /* i */
            invokestatic io.netty.util.NetUtil.isValidIpV4Word:(Ljava/lang/CharSequence;II)Z
            ifeq 8
         5: .line 686
            aload 0 /* ip */
            bipush 46
            iload 4 /* i */
            iconst_2
            iadd
            dup
            istore 1 /* from */
            invokestatic io.netty.util.AsciiString.indexOf:(Ljava/lang/CharSequence;CI)I
            dup
            istore 4 /* i */
            ifle 8
            aload 0 /* ip */
            iload 1 /* from */
            iconst_1
            isub
            iload 4 /* i */
            invokestatic io.netty.util.NetUtil.isValidIpV4Word:(Ljava/lang/CharSequence;II)Z
            ifeq 8
         6: .line 687
            aload 0 /* ip */
            iload 4 /* i */
            iconst_1
            iadd
            iload 2 /* toExcluded */
            invokestatic io.netty.util.NetUtil.isValidIpV4Word:(Ljava/lang/CharSequence;II)Z
            ifeq 8
        end local 4 // int i
         7: .line 683
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         8: iconst_0
            ireturn
        end local 3 // int len
        end local 2 // int toExcluded
        end local 1 // int from
        end local 0 // java.lang.CharSequence ip
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0          ip  Ljava/lang/CharSequence;
            0    9     1        from  I
            0    9     2  toExcluded  I
            1    9     3         len  I
            3    7     4           i  I
    MethodParameters:
            Name  Flags
      ip          
      from        
      toExcluded  

  public static java.net.Inet6Address getByName(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/net/Inet6Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.CharSequence ip
         0: .line 698
            aload 0 /* ip */
            iconst_1
            invokestatic io.netty.util.NetUtil.getByName:(Ljava/lang/CharSequence;Z)Ljava/net/Inet6Address;
            areturn
        end local 0 // java.lang.CharSequence ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ip  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      ip    

  public static java.net.Inet6Address getByName(java.lang.CharSequence, boolean);
    descriptor: (Ljava/lang/CharSequence;Z)Ljava/net/Inet6Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.CharSequence ip
        start local 1 // boolean ipv4Mapped
         0: .line 716
            aload 0 /* ip */
            iload 1 /* ipv4Mapped */
            invokestatic io.netty.util.NetUtil.getIPv6ByName:(Ljava/lang/CharSequence;Z)[B
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         1: .line 717
            aload 2 /* bytes */
            ifnonnull 3
         2: .line 718
            aconst_null
            areturn
         3: .line 721
      StackMap locals: byte[]
      StackMap stack:
            aconst_null
            aload 2 /* bytes */
            iconst_m1
            invokestatic java.net.Inet6Address.getByAddress:(Ljava/lang/String;[BI)Ljava/net/Inet6Address;
         4: areturn
         5: .line 722
      StackMap locals:
      StackMap stack: java.net.UnknownHostException
            astore 3 /* e */
        start local 3 // java.net.UnknownHostException e
         6: .line 723
            new java.lang.RuntimeException
            dup
            aload 3 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.net.UnknownHostException e
        end local 2 // byte[] bytes
        end local 1 // boolean ipv4Mapped
        end local 0 // java.lang.CharSequence ip
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0          ip  Ljava/lang/CharSequence;
            0    7     1  ipv4Mapped  Z
            1    7     2       bytes  [B
            6    7     3           e  Ljava/net/UnknownHostException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.net.UnknownHostException
    MethodParameters:
            Name  Flags
      ip          
      ipv4Mapped  

  private static byte[] getIPv6ByName(java.lang.CharSequence, boolean);
    descriptor: (Ljava/lang/CharSequence;Z)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=15, args_size=2
        start local 0 // java.lang.CharSequence ip
        start local 1 // boolean ipv4Mapped
         0: .line 742
            bipush 16
            newarray 8
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         1: .line 743
            aload 0 /* ip */
            invokeinterface java.lang.CharSequence.length:()I
            istore 3 /* ipLength */
        start local 3 // int ipLength
         2: .line 744
            iconst_0
            istore 4 /* compressBegin */
        start local 4 // int compressBegin
         3: .line 745
            iconst_0
            istore 5 /* compressLength */
        start local 5 // int compressLength
         4: .line 746
            iconst_0
            istore 6 /* currentIndex */
        start local 6 // int currentIndex
         5: .line 747
            iconst_0
            istore 7 /* value */
        start local 7 // int value
         6: .line 748
            iconst_m1
            istore 8 /* begin */
        start local 8 // int begin
         7: .line 749
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         8: .line 750
            iconst_0
            istore 10 /* ipv6Separators */
        start local 10 // int ipv6Separators
         9: .line 751
            iconst_0
            istore 11 /* ipv4Separators */
        start local 11 // int ipv4Separators
        10: .line 753
            iconst_0
            istore 13 /* needsShift */
        start local 13 // boolean needsShift
        11: .line 754
            goto 76
        12: .line 755
      StackMap locals: java.lang.CharSequence int byte[] int int int int int int int int int top int
      StackMap stack:
            aload 0 /* ip */
            iload 9 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 14 /* c */
        start local 14 // char c
        13: .line 756
            iload 14 /* c */
            lookupswitch { // 2
                   46: 39
                   58: 14
              default: 67
          }
        14: .line 758
      StackMap locals: int
      StackMap stack:
            iinc 10 /* ipv6Separators */ 1
        15: .line 759
            iload 9 /* i */
            iload 8 /* begin */
            isub
            iconst_4
            if_icmpgt 18
        16: .line 760
            iload 11 /* ipv4Separators */
            ifgt 18
            iload 10 /* ipv6Separators */
            bipush 8
            if_icmpgt 18
        17: .line 761
            iload 6 /* currentIndex */
            iconst_1
            iadd
            aload 2 /* bytes */
            arraylength
            if_icmplt 19
        18: .line 762
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        19: .line 764
      StackMap locals:
      StackMap stack:
            iload 7 /* value */
            iconst_4
            iload 9 /* i */
            iload 8 /* begin */
            isub
            isub
            iconst_2
            ishl
            ishl
            istore 7 /* value */
        20: .line 766
            iload 5 /* compressLength */
            ifle 22
        21: .line 767
            iinc 5 /* compressLength */ -2
        22: .line 773
      StackMap locals:
      StackMap stack:
            aload 2 /* bytes */
            iload 6 /* currentIndex */
            iinc 6 /* currentIndex */ 1
            iload 7 /* value */
            bipush 15
            iand
            iconst_4
            ishl
            iload 7 /* value */
            iconst_4
            ishr
            bipush 15
            iand
            ior
            i2b
            bastore
        23: .line 774
            aload 2 /* bytes */
            iload 6 /* currentIndex */
            iinc 6 /* currentIndex */ 1
            iload 7 /* value */
            bipush 8
            ishr
            bipush 15
            iand
            iconst_4
            ishl
            iload 7 /* value */
            bipush 12
            ishr
            bipush 15
            iand
            ior
            i2b
            bastore
        24: .line 775
            iload 9 /* i */
            iconst_1
            iadd
            istore 12 /* tmp */
        start local 12 // int tmp
        25: .line 776
            iload 12 /* tmp */
            iload 3 /* ipLength */
            if_icmpge 36
            aload 0 /* ip */
            iload 12 /* tmp */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpne 36
        26: .line 777
            iinc 12 /* tmp */ 1
        27: .line 778
            iload 4 /* compressBegin */
            ifne 28
            iload 12 /* tmp */
            iload 3 /* ipLength */
            if_icmpge 29
            aload 0 /* ip */
            iload 12 /* tmp */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpne 29
        28: .line 779
      StackMap locals: java.lang.CharSequence int byte[] int int int int int int int int int int int int
      StackMap stack:
            aconst_null
            areturn
        29: .line 781
      StackMap locals:
      StackMap stack:
            iinc 10 /* ipv6Separators */ 1
        30: .line 782
            iload 10 /* ipv6Separators */
            iconst_2
            if_icmpne 31
            iload 7 /* value */
            ifne 31
            iconst_1
            goto 32
      StackMap locals:
      StackMap stack:
        31: iconst_0
      StackMap locals:
      StackMap stack: int
        32: istore 13 /* needsShift */
        33: .line 783
            iload 6 /* currentIndex */
            istore 4 /* compressBegin */
        34: .line 784
            aload 2 /* bytes */
            arraylength
            iload 4 /* compressBegin */
            isub
            iconst_2
            isub
            istore 5 /* compressLength */
        35: .line 785
            iinc 9 /* i */ 1
        36: .line 787
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* value */
        37: .line 788
            iconst_m1
            istore 8 /* begin */
        38: .line 789
            goto 75
        end local 12 // int tmp
        39: .line 791
      StackMap locals: java.lang.CharSequence int byte[] int int int int int int int int int top int int
      StackMap stack:
            iinc 11 /* ipv4Separators */ 1
        40: .line 792
            iload 9 /* i */
            iload 8 /* begin */
            isub
            istore 12 /* tmp */
        start local 12 // int tmp
        41: .line 793
            iload 12 /* tmp */
            iconst_3
            if_icmpgt 58
        42: .line 794
            iload 8 /* begin */
            iflt 58
        43: .line 795
            iload 11 /* ipv4Separators */
            iconst_3
            if_icmpgt 58
        44: .line 796
            iload 10 /* ipv6Separators */
            ifle 45
            iload 6 /* currentIndex */
            iload 5 /* compressLength */
            iadd
            bipush 12
            if_icmplt 58
        45: .line 797
      StackMap locals: java.lang.CharSequence int byte[] int int int int int int int int int int int int
      StackMap stack:
            iload 9 /* i */
            iconst_1
            iadd
            iload 3 /* ipLength */
            if_icmpge 58
        46: .line 798
            iload 6 /* currentIndex */
            aload 2 /* bytes */
            arraylength
            if_icmpge 58
        47: .line 799
            iload 11 /* ipv4Separators */
            iconst_1
            if_icmpne 59
        48: .line 801
            iload 1 /* ipv4Mapped */
            ifeq 58
            iload 6 /* currentIndex */
            ifeq 52
            aload 2 /* bytes */
            iload 6 /* currentIndex */
        49: .line 802
            iload 4 /* compressBegin */
            iload 5 /* compressLength */
        50: .line 801
            invokestatic io.netty.util.NetUtil.isValidIPv4Mapped:([BIII)Z
        51: .line 802
            ifeq 58
        52: .line 803
      StackMap locals:
      StackMap stack:
            iload 12 /* tmp */
            iconst_3
            if_icmpne 55
            aload 0 /* ip */
            iload 9 /* i */
            iconst_1
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic io.netty.util.NetUtil.isValidNumericChar:(C)Z
            ifeq 58
        53: .line 804
            aload 0 /* ip */
            iload 9 /* i */
            iconst_2
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic io.netty.util.NetUtil.isValidNumericChar:(C)Z
            ifeq 58
        54: .line 805
            aload 0 /* ip */
            iload 9 /* i */
            iconst_3
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic io.netty.util.NetUtil.isValidNumericChar:(C)Z
            ifeq 58
        55: .line 806
      StackMap locals:
      StackMap stack:
            iload 12 /* tmp */
            iconst_2
            if_icmpne 57
            aload 0 /* ip */
            iload 9 /* i */
            iconst_1
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic io.netty.util.NetUtil.isValidNumericChar:(C)Z
            ifeq 58
        56: .line 807
            aload 0 /* ip */
            iload 9 /* i */
            iconst_2
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic io.netty.util.NetUtil.isValidNumericChar:(C)Z
            ifeq 58
        57: .line 808
      StackMap locals:
      StackMap stack:
            iload 12 /* tmp */
            iconst_1
            if_icmpne 59
            aload 0 /* ip */
            iload 9 /* i */
            iconst_1
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic io.netty.util.NetUtil.isValidNumericChar:(C)Z
            ifne 59
        58: .line 809
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        59: .line 811
      StackMap locals:
      StackMap stack:
            iload 7 /* value */
            iconst_3
            iload 12 /* tmp */
            isub
            iconst_2
            ishl
            ishl
            istore 7 /* value */
        60: .line 816
            iload 7 /* value */
            bipush 15
            iand
            bipush 100
            imul
            iload 7 /* value */
            iconst_4
            ishr
            bipush 15
            iand
            bipush 10
            imul
            iadd
            iload 7 /* value */
            bipush 8
            ishr
            bipush 15
            iand
            iadd
            istore 8 /* begin */
        61: .line 817
            iload 8 /* begin */
            iflt 62
            iload 8 /* begin */
            sipush 255
            if_icmple 63
        62: .line 818
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        63: .line 820
      StackMap locals:
      StackMap stack:
            aload 2 /* bytes */
            iload 6 /* currentIndex */
            iinc 6 /* currentIndex */ 1
            iload 8 /* begin */
            i2b
            bastore
        64: .line 821
            iconst_0
            istore 7 /* value */
        65: .line 822
            iconst_m1
            istore 8 /* begin */
        66: .line 823
            goto 75
        end local 12 // int tmp
        67: .line 825
      StackMap locals: java.lang.CharSequence int byte[] int int int int int int int int int top int int
      StackMap stack:
            iload 14 /* c */
            invokestatic io.netty.util.NetUtil.isValidHexChar:(C)Z
            ifeq 68
            iload 11 /* ipv4Separators */
            ifle 69
            iload 14 /* c */
            invokestatic io.netty.util.NetUtil.isValidNumericChar:(C)Z
            ifne 69
        68: .line 826
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        69: .line 828
      StackMap locals:
      StackMap stack:
            iload 8 /* begin */
            ifge 72
        70: .line 829
            iload 9 /* i */
            istore 8 /* begin */
        71: .line 830
            goto 74
      StackMap locals:
      StackMap stack:
        72: iload 9 /* i */
            iload 8 /* begin */
            isub
            iconst_4
            if_icmple 74
        73: .line 831
            aconst_null
            areturn
        74: .line 837
      StackMap locals:
      StackMap stack:
            iload 7 /* value */
            iload 14 /* c */
            invokestatic io.netty.util.internal.StringUtil.decodeHexNibble:(C)I
            iload 9 /* i */
            iload 8 /* begin */
            isub
            iconst_2
            ishl
            ishl
            iadd
            istore 7 /* value */
        end local 14 // char c
        75: .line 754
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        76: iload 9 /* i */
            iload 3 /* ipLength */
            if_icmplt 12
        77: .line 842
            iload 4 /* compressBegin */
            ifle 78
            iconst_1
            goto 79
      StackMap locals:
      StackMap stack:
        78: iconst_0
      StackMap locals:
      StackMap stack: int
        79: istore 14 /* isCompressed */
        start local 14 // boolean isCompressed
        80: .line 844
            iload 11 /* ipv4Separators */
            ifle 101
        81: .line 845
            iload 8 /* begin */
            ifle 82
            iload 9 /* i */
            iload 8 /* begin */
            isub
            iconst_3
            if_icmpgt 84
        82: .line 846
      StackMap locals: int
      StackMap stack:
            iload 11 /* ipv4Separators */
            iconst_3
            if_icmpne 84
        83: .line 847
            iload 6 /* currentIndex */
            aload 2 /* bytes */
            arraylength
            if_icmplt 85
        84: .line 848
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        85: .line 850
      StackMap locals:
      StackMap stack:
            iload 10 /* ipv6Separators */
            ifne 88
        86: .line 851
            bipush 12
            istore 5 /* compressLength */
        87: .line 852
            goto 95
      StackMap locals:
      StackMap stack:
        88: iload 10 /* ipv6Separators */
            iconst_2
            if_icmplt 94
        89: .line 853
            iload 14 /* isCompressed */
            ifne 90
            iload 10 /* ipv6Separators */
            bipush 6
            if_icmpne 90
            aload 0 /* ip */
            iconst_0
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpne 92
        90: .line 854
      StackMap locals:
      StackMap stack:
            iload 14 /* isCompressed */
            ifeq 94
            iload 10 /* ipv6Separators */
            bipush 8
            if_icmpge 94
        91: .line 855
            aload 0 /* ip */
            iconst_0
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpne 92
            iload 4 /* compressBegin */
            iconst_2
            if_icmpgt 94
        92: .line 856
      StackMap locals:
      StackMap stack:
            iinc 5 /* compressLength */ -2
        93: .line 857
            goto 95
        94: .line 858
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        95: .line 860
      StackMap locals:
      StackMap stack:
            iload 7 /* value */
            iconst_3
            iload 9 /* i */
            iload 8 /* begin */
            isub
            isub
            iconst_2
            ishl
            ishl
            istore 7 /* value */
        96: .line 865
            iload 7 /* value */
            bipush 15
            iand
            bipush 100
            imul
            iload 7 /* value */
            iconst_4
            ishr
            bipush 15
            iand
            bipush 10
            imul
            iadd
            iload 7 /* value */
            bipush 8
            ishr
            bipush 15
            iand
            iadd
            istore 8 /* begin */
        97: .line 866
            iload 8 /* begin */
            iflt 98
            iload 8 /* begin */
            sipush 255
            if_icmple 99
        98: .line 867
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        99: .line 869
      StackMap locals:
      StackMap stack:
            aload 2 /* bytes */
            iload 6 /* currentIndex */
            iinc 6 /* currentIndex */ 1
            iload 8 /* begin */
            i2b
            bastore
       100: .line 870
            goto 118
       101: .line 871
      StackMap locals:
      StackMap stack:
            iload 3 /* ipLength */
            iconst_1
            isub
            istore 12 /* tmp */
        start local 12 // int tmp
       102: .line 872
            iload 8 /* begin */
            ifle 103
            iload 9 /* i */
            iload 8 /* begin */
            isub
            iconst_4
            if_icmpgt 113
       103: .line 873
      StackMap locals: java.lang.CharSequence int byte[] int int int int int int int int int int int int
      StackMap stack:
            iload 10 /* ipv6Separators */
            iconst_2
            if_icmplt 113
       104: .line 874
            iload 14 /* isCompressed */
            ifne 106
            iload 10 /* ipv6Separators */
            iconst_1
            iadd
            bipush 8
            if_icmpne 113
       105: .line 875
            aload 0 /* ip */
            iconst_0
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpeq 113
            aload 0 /* ip */
            iload 12 /* tmp */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpeq 113
       106: .line 876
      StackMap locals:
      StackMap stack:
            iload 14 /* isCompressed */
            ifeq 110
            iload 10 /* ipv6Separators */
            bipush 8
            if_icmpgt 113
       107: .line 877
            iload 10 /* ipv6Separators */
            bipush 8
            if_icmpne 110
       108: .line 878
            iload 4 /* compressBegin */
            iconst_2
            if_icmpgt 109
            aload 0 /* ip */
            iconst_0
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpne 113
       109: .line 879
      StackMap locals:
      StackMap stack:
            iload 4 /* compressBegin */
            bipush 14
            if_icmplt 110
            aload 0 /* ip */
            iload 12 /* tmp */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpne 113
       110: .line 880
      StackMap locals:
      StackMap stack:
            iload 6 /* currentIndex */
            iconst_1
            iadd
            aload 2 /* bytes */
            arraylength
            if_icmpge 113
       111: .line 881
            iload 8 /* begin */
            ifge 112
            aload 0 /* ip */
            iload 12 /* tmp */
            iconst_1
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpne 113
       112: .line 882
      StackMap locals:
      StackMap stack:
            iload 4 /* compressBegin */
            iconst_2
            if_icmple 114
            aload 0 /* ip */
            iconst_0
            invokeinterface java.lang.CharSequence.charAt:(I)C
            bipush 58
            if_icmpne 114
       113: .line 883
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
       114: .line 885
      StackMap locals:
      StackMap stack:
            iload 8 /* begin */
            iflt 116
            iload 9 /* i */
            iload 8 /* begin */
            isub
            iconst_4
            if_icmpgt 116
       115: .line 886
            iload 7 /* value */
            iconst_4
            iload 9 /* i */
            iload 8 /* begin */
            isub
            isub
            iconst_2
            ishl
            ishl
            istore 7 /* value */
       116: .line 891
      StackMap locals:
      StackMap stack:
            aload 2 /* bytes */
            iload 6 /* currentIndex */
            iinc 6 /* currentIndex */ 1
            iload 7 /* value */
            bipush 15
            iand
            iconst_4
            ishl
            iload 7 /* value */
            iconst_4
            ishr
            bipush 15
            iand
            ior
            i2b
            bastore
       117: .line 892
            aload 2 /* bytes */
            iload 6 /* currentIndex */
            iinc 6 /* currentIndex */ 1
            iload 7 /* value */
            bipush 8
            ishr
            bipush 15
            iand
            iconst_4
            ishl
            iload 7 /* value */
            bipush 12
            ishr
            bipush 15
            iand
            ior
            i2b
            bastore
        end local 12 // int tmp
       118: .line 895
      StackMap locals: java.lang.CharSequence int byte[] int int int int int int int int int top int int
      StackMap stack:
            iload 6 /* currentIndex */
            iload 5 /* compressLength */
            iadd
            istore 9 /* i */
       119: .line 896
            iload 13 /* needsShift */
            ifne 120
            iload 9 /* i */
            aload 2 /* bytes */
            arraylength
            if_icmplt 132
       120: .line 898
      StackMap locals:
      StackMap stack:
            iload 9 /* i */
            aload 2 /* bytes */
            arraylength
            if_icmplt 122
       121: .line 899
            iinc 4 /* compressBegin */ 1
       122: .line 901
      StackMap locals:
      StackMap stack:
            iload 6 /* currentIndex */
            istore 9 /* i */
            goto 130
       123: .line 902
      StackMap locals:
      StackMap stack:
            aload 2 /* bytes */
            arraylength
            iconst_1
            isub
            istore 8 /* begin */
            goto 126
       124: .line 903
      StackMap locals:
      StackMap stack:
            aload 2 /* bytes */
            iload 8 /* begin */
            aload 2 /* bytes */
            iload 8 /* begin */
            iconst_1
            isub
            baload
            bastore
       125: .line 902
            iinc 8 /* begin */ -1
      StackMap locals:
      StackMap stack:
       126: iload 8 /* begin */
            iload 4 /* compressBegin */
            if_icmpge 124
       127: .line 905
            aload 2 /* bytes */
            iload 8 /* begin */
            iconst_0
            bastore
       128: .line 906
            iinc 4 /* compressBegin */ 1
       129: .line 901
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
       130: iload 9 /* i */
            aload 2 /* bytes */
            arraylength
            if_icmplt 123
       131: .line 908
            goto 140
       132: .line 910
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* i */
            goto 139
       133: .line 911
      StackMap locals:
      StackMap stack:
            iload 9 /* i */
            iload 4 /* compressBegin */
            iadd
            istore 8 /* begin */
       134: .line 912
            iload 8 /* begin */
            iload 5 /* compressLength */
            iadd
            istore 6 /* currentIndex */
       135: .line 913
            iload 6 /* currentIndex */
            aload 2 /* bytes */
            arraylength
            if_icmpge 140
       136: .line 914
            aload 2 /* bytes */
            iload 6 /* currentIndex */
            aload 2 /* bytes */
            iload 8 /* begin */
            baload
            bastore
       137: .line 915
            aload 2 /* bytes */
            iload 8 /* begin */
            iconst_0
            bastore
       138: .line 910
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
       139: iload 9 /* i */
            iload 5 /* compressLength */
            if_icmplt 133
       140: .line 922
      StackMap locals:
      StackMap stack:
            iload 11 /* ipv4Separators */
            ifle 142
       141: .line 926
            aload 2 /* bytes */
            bipush 10
            aload 2 /* bytes */
            bipush 11
            iconst_m1
            dup_x2
            bastore
            bastore
       142: .line 929
      StackMap locals:
      StackMap stack:
            aload 2 /* bytes */
            areturn
        end local 14 // boolean isCompressed
        end local 13 // boolean needsShift
        end local 11 // int ipv4Separators
        end local 10 // int ipv6Separators
        end local 9 // int i
        end local 8 // int begin
        end local 7 // int value
        end local 6 // int currentIndex
        end local 5 // int compressLength
        end local 4 // int compressBegin
        end local 3 // int ipLength
        end local 2 // byte[] bytes
        end local 1 // boolean ipv4Mapped
        end local 0 // java.lang.CharSequence ip
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  143     0              ip  Ljava/lang/CharSequence;
            0  143     1      ipv4Mapped  Z
            1  143     2           bytes  [B
            2  143     3        ipLength  I
            3  143     4   compressBegin  I
            4  143     5  compressLength  I
            5  143     6    currentIndex  I
            6  143     7           value  I
            7  143     8           begin  I
            8  143     9               i  I
            9  143    10  ipv6Separators  I
           10  143    11  ipv4Separators  I
           25   39    12             tmp  I
           41   67    12             tmp  I
          102  118    12             tmp  I
           11  143    13      needsShift  Z
           13   75    14               c  C
           80  143    14    isCompressed  Z
    MethodParameters:
            Name  Flags
      ip          
      ipv4Mapped  

  public static java.lang.String toSocketAddressString(java.net.InetSocketAddress);
    descriptor: (Ljava/net/InetSocketAddress;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.net.InetSocketAddress addr
         0: .line 940
            aload 0 /* addr */
            invokevirtual java.net.InetSocketAddress.getPort:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            astore 1 /* port */
        start local 1 // java.lang.String port
         1: .line 943
            aload 0 /* addr */
            invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
            ifeq 7
         2: .line 944
            aload 0 /* addr */
            invokestatic io.netty.util.NetUtil.getHostname:(Ljava/net/InetSocketAddress;)Ljava/lang/String;
            astore 3 /* hostname */
        start local 3 // java.lang.String hostname
         3: .line 945
            aload 3 /* hostname */
            aload 1 /* port */
            aload 3 /* hostname */
            invokestatic io.netty.util.NetUtil.isValidIpV6Address:(Ljava/lang/String;)Z
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: java.net.InetSocketAddress java.lang.String top java.lang.String
      StackMap stack: java.lang.String java.lang.String
         4: iconst_1
      StackMap locals: java.net.InetSocketAddress java.lang.String top java.lang.String
      StackMap stack: java.lang.String java.lang.String int
         5: invokestatic io.netty.util.NetUtil.newSocketAddressStringBuilder:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/StringBuilder;
            astore 2 /* sb */
        end local 3 // java.lang.String hostname
        start local 2 // java.lang.StringBuilder sb
         6: .line 946
            goto 10
        end local 2 // java.lang.StringBuilder sb
         7: .line 947
      StackMap locals: java.net.InetSocketAddress java.lang.String
      StackMap stack:
            aload 0 /* addr */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            astore 3 /* address */
        start local 3 // java.net.InetAddress address
         8: .line 948
            aload 3 /* address */
            invokestatic io.netty.util.NetUtil.toAddressString:(Ljava/net/InetAddress;)Ljava/lang/String;
            astore 4 /* hostString */
        start local 4 // java.lang.String hostString
         9: .line 949
            aload 4 /* hostString */
            aload 1 /* port */
            aload 3 /* address */
            instanceof java.net.Inet4Address
            invokestatic io.netty.util.NetUtil.newSocketAddressStringBuilder:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/StringBuilder;
            astore 2 /* sb */
        end local 4 // java.lang.String hostString
        end local 3 // java.net.InetAddress address
        start local 2 // java.lang.StringBuilder sb
        10: .line 951
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 2 /* sb */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* port */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // java.lang.String port
        end local 0 // java.net.InetSocketAddress addr
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        addr  Ljava/net/InetSocketAddress;
            1   11     1        port  Ljava/lang/String;
            6    7     2          sb  Ljava/lang/StringBuilder;
           10   11     2          sb  Ljava/lang/StringBuilder;
            3    6     3    hostname  Ljava/lang/String;
            8   10     3     address  Ljava/net/InetAddress;
            9   10     4  hostString  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      addr  

  public static java.lang.String toSocketAddressString(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String host
        start local 1 // int port
         0: .line 958
            iload 1 /* port */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            astore 2 /* portStr */
        start local 2 // java.lang.String portStr
         1: .line 960
            aload 0 /* host */
            aload 2 /* portStr */
            aload 0 /* host */
            invokestatic io.netty.util.NetUtil.isValidIpV6Address:(Ljava/lang/String;)Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals: java.lang.String int java.lang.String
      StackMap stack: java.lang.String java.lang.String
         2: iconst_1
         3: .line 959
      StackMap locals: java.lang.String int java.lang.String
      StackMap stack: java.lang.String java.lang.String int
            invokestatic io.netty.util.NetUtil.newSocketAddressStringBuilder:(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/StringBuilder;
         4: .line 960
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* portStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 959
            areturn
        end local 2 // java.lang.String portStr
        end local 1 // int port
        end local 0 // java.lang.String host
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     host  Ljava/lang/String;
            0    6     1     port  I
            1    6     2  portStr  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      host  
      port  

  private static java.lang.StringBuilder newSocketAddressStringBuilder(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/StringBuilder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.String host
        start local 1 // java.lang.String port
        start local 2 // boolean ipv4
         0: .line 964
            aload 0 /* host */
            invokevirtual java.lang.String.length:()I
            istore 3 /* hostLen */
        start local 3 // int hostLen
         1: .line 965
            iload 2 /* ipv4 */
            ifeq 3
         2: .line 967
            new java.lang.StringBuilder
            dup
            iload 3 /* hostLen */
            iconst_1
            iadd
            aload 1 /* port */
            invokevirtual java.lang.String.length:()I
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            aload 0 /* host */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            areturn
         3: .line 970
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 3 /* hostLen */
            iconst_3
            iadd
            aload 1 /* port */
            invokevirtual java.lang.String.length:()I
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* stringBuilder */
        start local 4 // java.lang.StringBuilder stringBuilder
         4: .line 971
            iload 3 /* hostLen */
            iconst_1
            if_icmple 6
            aload 0 /* host */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpne 6
            aload 0 /* host */
            iload 3 /* hostLen */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 93
            if_icmpne 6
         5: .line 972
            aload 4 /* stringBuilder */
            aload 0 /* host */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            areturn
         6: .line 974
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 4 /* stringBuilder */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* host */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            areturn
        end local 4 // java.lang.StringBuilder stringBuilder
        end local 3 // int hostLen
        end local 2 // boolean ipv4
        end local 1 // java.lang.String port
        end local 0 // java.lang.String host
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           host  Ljava/lang/String;
            0    7     1           port  Ljava/lang/String;
            0    7     2           ipv4  Z
            1    7     3        hostLen  I
            4    7     4  stringBuilder  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      host  
      port  
      ipv4  

  public static java.lang.String toAddressString(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.InetAddress ip
         0: .line 990
            aload 0 /* ip */
            iconst_0
            invokestatic io.netty.util.NetUtil.toAddressString:(Ljava/net/InetAddress;Z)Ljava/lang/String;
            areturn
        end local 0 // java.net.InetAddress ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ip  Ljava/net/InetAddress;
    MethodParameters:
      Name  Flags
      ip    

  public static java.lang.String toAddressString(java.net.InetAddress, boolean);
    descriptor: (Ljava/net/InetAddress;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.net.InetAddress ip
        start local 1 // boolean ipv4Mapped
         0: .line 1018
            aload 0 /* ip */
            instanceof java.net.Inet4Address
            ifeq 2
         1: .line 1019
            aload 0 /* ip */
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            areturn
         2: .line 1021
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            instanceof java.net.Inet6Address
            ifne 4
         3: .line 1022
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unhandled type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* ip */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1025
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            invokevirtual java.net.InetAddress.getAddress:()[B
            iconst_0
            iload 1 /* ipv4Mapped */
            invokestatic io.netty.util.NetUtil.toAddressString:([BIZ)Ljava/lang/String;
            areturn
        end local 1 // boolean ipv4Mapped
        end local 0 // java.net.InetAddress ip
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0          ip  Ljava/net/InetAddress;
            0    5     1  ipv4Mapped  Z
    MethodParameters:
            Name  Flags
      ip          
      ipv4Mapped  

  private static java.lang.String toAddressString(byte[], int, boolean);
    descriptor: ([BIZ)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=13, args_size=3
        start local 0 // byte[] bytes
        start local 1 // int offset
        start local 2 // boolean ipv4Mapped
         0: .line 1029
            bipush 8
            newarray 10
            astore 3 /* words */
        start local 3 // int[] words
         1: .line 1031
            iload 1 /* offset */
            aload 3 /* words */
            arraylength
            iadd
            istore 5 /* end */
        start local 5 // int end
         2: .line 1032
            iload 1 /* offset */
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 1033
      StackMap locals: int[] int int
      StackMap stack:
            aload 3 /* words */
            iload 4 /* i */
            aload 0 /* bytes */
            iload 4 /* i */
            iconst_1
            ishl
            baload
            sipush 255
            iand
            bipush 8
            ishl
            aload 0 /* bytes */
            iload 4 /* i */
            iconst_1
            ishl
            iconst_1
            iadd
            baload
            sipush 255
            iand
            ior
            iastore
         5: .line 1032
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iload 5 /* end */
            if_icmplt 4
         7: .line 1037
            iconst_m1
            istore 6 /* currentStart */
        start local 6 // int currentStart
         8: .line 1039
            iconst_m1
            istore 8 /* shortestStart */
        start local 8 // int shortestStart
         9: .line 1040
            iconst_0
            istore 9 /* shortestLength */
        start local 9 // int shortestLength
        10: .line 1041
            iconst_0
            istore 4 /* i */
            goto 22
        11: .line 1042
      StackMap locals: byte[] int int int[] int int int top int int
      StackMap stack:
            aload 3 /* words */
            iload 4 /* i */
            iaload
            ifne 15
        12: .line 1043
            iload 6 /* currentStart */
            ifge 21
        13: .line 1044
            iload 4 /* i */
            istore 6 /* currentStart */
        14: .line 1046
            goto 21
      StackMap locals:
      StackMap stack:
        15: iload 6 /* currentStart */
            iflt 21
        16: .line 1047
            iload 4 /* i */
            iload 6 /* currentStart */
            isub
            istore 7 /* currentLength */
        start local 7 // int currentLength
        17: .line 1048
            iload 7 /* currentLength */
            iload 9 /* shortestLength */
            if_icmple 20
        18: .line 1049
            iload 6 /* currentStart */
            istore 8 /* shortestStart */
        19: .line 1050
            iload 7 /* currentLength */
            istore 9 /* shortestLength */
        20: .line 1052
      StackMap locals: byte[] int int int[] int int int int int int
      StackMap stack:
            iconst_m1
            istore 6 /* currentStart */
        end local 7 // int currentLength
        21: .line 1041
      StackMap locals: byte[] int int int[] int int int top int int
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            aload 3 /* words */
            arraylength
            if_icmplt 11
        23: .line 1056
            iload 6 /* currentStart */
            iflt 28
        24: .line 1057
            iload 4 /* i */
            iload 6 /* currentStart */
            isub
            istore 7 /* currentLength */
        start local 7 // int currentLength
        25: .line 1058
            iload 7 /* currentLength */
            iload 9 /* shortestLength */
            if_icmple 28
        26: .line 1059
            iload 6 /* currentStart */
            istore 8 /* shortestStart */
        27: .line 1060
            iload 7 /* currentLength */
            istore 9 /* shortestLength */
        end local 7 // int currentLength
        28: .line 1064
      StackMap locals:
      StackMap stack:
            iload 9 /* shortestLength */
            iconst_1
            if_icmpne 31
        29: .line 1065
            iconst_0
            istore 9 /* shortestLength */
        30: .line 1066
            iconst_m1
            istore 8 /* shortestStart */
        31: .line 1070
      StackMap locals:
      StackMap stack:
            iload 8 /* shortestStart */
            iload 9 /* shortestLength */
            iadd
            istore 10 /* shortestEnd */
        start local 10 // int shortestEnd
        32: .line 1071
            new java.lang.StringBuilder
            dup
            bipush 39
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 11 /* b */
        start local 11 // java.lang.StringBuilder b
        33: .line 1072
            iload 10 /* shortestEnd */
            ifge 41
        34: .line 1073
            aload 11 /* b */
            aload 3 /* words */
            iconst_0
            iaload
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 1074
            iconst_1
            istore 4 /* i */
            goto 39
        36: .line 1075
      StackMap locals: int java.lang.StringBuilder
      StackMap stack:
            aload 11 /* b */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        37: .line 1076
            aload 11 /* b */
            aload 3 /* words */
            iload 4 /* i */
            iaload
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        38: .line 1074
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 4 /* i */
            aload 3 /* words */
            arraylength
            if_icmplt 36
        40: .line 1078
            goto 67
        41: .line 1081
      StackMap locals:
      StackMap stack:
            iconst_0
            iload 8 /* shortestStart */
            iload 10 /* shortestEnd */
            invokestatic io.netty.util.NetUtil.inRangeEndExclusive:(III)Z
            ifeq 47
        42: .line 1082
            aload 11 /* b */
            ldc "::"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        43: .line 1083
            iload 2 /* ipv4Mapped */
            ifeq 44
            iload 10 /* shortestEnd */
            iconst_5
            if_icmpne 44
            aload 3 /* words */
            iconst_5
            iaload
            ldc 65535
            if_icmpne 44
            iconst_1
            goto 45
      StackMap locals:
      StackMap stack:
        44: iconst_0
      StackMap locals:
      StackMap stack: int
        45: istore 12 /* isIpv4Mapped */
        start local 12 // boolean isIpv4Mapped
        46: .line 1084
            goto 49
        end local 12 // boolean isIpv4Mapped
        47: .line 1085
      StackMap locals:
      StackMap stack:
            aload 11 /* b */
            aload 3 /* words */
            iconst_0
            iaload
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        48: .line 1086
            iconst_0
            istore 12 /* isIpv4Mapped */
        start local 12 // boolean isIpv4Mapped
        49: .line 1088
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 4 /* i */
            goto 66
        50: .line 1089
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 8 /* shortestStart */
            iload 10 /* shortestEnd */
            invokestatic io.netty.util.NetUtil.inRangeEndExclusive:(III)Z
            ifne 63
        51: .line 1090
            iload 4 /* i */
            iconst_1
            isub
            iload 8 /* shortestStart */
            iload 10 /* shortestEnd */
            invokestatic io.netty.util.NetUtil.inRangeEndExclusive:(III)Z
            ifne 56
        52: .line 1092
            iload 12 /* isIpv4Mapped */
            ifeq 53
            iload 4 /* i */
            bipush 6
            if_icmpne 55
        53: .line 1093
      StackMap locals:
      StackMap stack:
            aload 11 /* b */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        54: .line 1094
            goto 56
        55: .line 1095
      StackMap locals:
      StackMap stack:
            aload 11 /* b */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        56: .line 1098
      StackMap locals:
      StackMap stack:
            iload 12 /* isIpv4Mapped */
            ifeq 61
            iload 4 /* i */
            iconst_5
            if_icmple 61
        57: .line 1099
            aload 11 /* b */
            aload 3 /* words */
            iload 4 /* i */
            iaload
            bipush 8
            ishr
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        58: .line 1100
            aload 11 /* b */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        59: .line 1101
            aload 11 /* b */
            aload 3 /* words */
            iload 4 /* i */
            iaload
            sipush 255
            iand
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        60: .line 1102
            goto 65
        61: .line 1103
      StackMap locals:
      StackMap stack:
            aload 11 /* b */
            aload 3 /* words */
            iload 4 /* i */
            iaload
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        62: .line 1105
            goto 65
      StackMap locals:
      StackMap stack:
        63: iload 4 /* i */
            iconst_1
            isub
            iload 8 /* shortestStart */
            iload 10 /* shortestEnd */
            invokestatic io.netty.util.NetUtil.inRangeEndExclusive:(III)Z
            ifne 65
        64: .line 1107
            aload 11 /* b */
            ldc "::"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        65: .line 1088
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        66: iload 4 /* i */
            aload 3 /* words */
            arraylength
            if_icmplt 50
        end local 12 // boolean isIpv4Mapped
        67: .line 1112
      StackMap locals:
      StackMap stack:
            aload 11 /* b */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 11 // java.lang.StringBuilder b
        end local 10 // int shortestEnd
        end local 9 // int shortestLength
        end local 8 // int shortestStart
        end local 6 // int currentStart
        end local 5 // int end
        end local 4 // int i
        end local 3 // int[] words
        end local 2 // boolean ipv4Mapped
        end local 1 // int offset
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   68     0           bytes  [B
            0   68     1          offset  I
            0   68     2      ipv4Mapped  Z
            1   68     3           words  [I
            3   68     4               i  I
            2   68     5             end  I
            8   68     6    currentStart  I
           17   21     7   currentLength  I
           25   28     7   currentLength  I
            9   68     8   shortestStart  I
           10   68     9  shortestLength  I
           32   68    10     shortestEnd  I
           33   68    11               b  Ljava/lang/StringBuilder;
           46   47    12    isIpv4Mapped  Z
           49   67    12    isIpv4Mapped  Z
    MethodParameters:
            Name  Flags
      bytes       
      offset      
      ipv4Mapped  

  public static java.lang.String getHostname(java.net.InetSocketAddress);
    descriptor: (Ljava/net/InetSocketAddress;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.InetSocketAddress addr
         0: .line 1122
            invokestatic io.netty.util.internal.PlatformDependent.javaVersion:()I
            bipush 7
            if_icmplt 1
            aload 0 /* addr */
            invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* addr */
            invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.net.InetSocketAddress addr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  addr  Ljava/net/InetSocketAddress;
    MethodParameters:
      Name  Flags
      addr  

  private static boolean inRangeEndExclusive(int, int, int);
    descriptor: (III)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // int value
        start local 1 // int start
        start local 2 // int end
         0: .line 1137
            iload 0 /* value */
            iload 1 /* start */
            if_icmplt 1
            iload 0 /* value */
            iload 2 /* end */
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // int end
        end local 1 // int start
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  I
            0    2     1  start  I
            0    2     2    end  I
    MethodParameters:
       Name  Flags
      value  
      start  
      end    

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.util.NetUtil this
         0: .line 1143
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1145
            return
        end local 0 // io.netty.util.NetUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/util/NetUtil;
}
SourceFile: "NetUtil.java"
NestMembers:
  io.netty.util.NetUtil$1
InnerClasses:
  io.netty.util.NetUtil$1