public final class com.google.common.net.InetAddresses
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.common.net.InetAddresses
  super_class: java.lang.Object
{
  private static final int IPV4_PART_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

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

  private static final com.google.common.base.Splitter IPV4_SPLITTER;
    descriptor: Lcom/google/common/base/Splitter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.google.common.base.Splitter IPV6_SPLITTER;
    descriptor: Lcom/google/common/base/Splitter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.net.Inet4Address LOOPBACK4;
    descriptor: Ljava/net/Inet4Address;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.net.Inet4Address ANY4;
    descriptor: Ljava/net/Inet4Address;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 104
            bipush 46
            invokestatic com.google.common.base.Splitter.on:(C)Lcom/google/common/base/Splitter;
            iconst_4
            invokevirtual com.google.common.base.Splitter.limit:(I)Lcom/google/common/base/Splitter;
            putstatic com.google.common.net.InetAddresses.IPV4_SPLITTER:Lcom/google/common/base/Splitter;
         1: .line 105
            bipush 58
            invokestatic com.google.common.base.Splitter.on:(C)Lcom/google/common/base/Splitter;
            bipush 10
            invokevirtual com.google.common.base.Splitter.limit:(I)Lcom/google/common/base/Splitter;
            putstatic com.google.common.net.InetAddresses.IPV6_SPLITTER:Lcom/google/common/base/Splitter;
         2: .line 106
            ldc "127.0.0.1"
            invokestatic com.google.common.net.InetAddresses.forString:(Ljava/lang/String;)Ljava/net/InetAddress;
            checkcast java.net.Inet4Address
            putstatic com.google.common.net.InetAddresses.LOOPBACK4:Ljava/net/Inet4Address;
         3: .line 107
            ldc "0.0.0.0"
            invokestatic com.google.common.net.InetAddresses.forString:(Ljava/lang/String;)Ljava/net/InetAddress;
            checkcast java.net.Inet4Address
            putstatic com.google.common.net.InetAddresses.ANY4:Ljava/net/Inet4Address;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.net.InetAddresses this
         0: .line 109
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.common.net.InetAddresses this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/net/InetAddresses;

  private static java.net.Inet4Address getInet4Address(byte[]);
    descriptor: ([B)Ljava/net/Inet4Address;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // byte[] bytes
         0: .line 120
            aload 0 /* bytes */
            arraylength
            iconst_4
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
         2: .line 121
      StackMap locals:
      StackMap stack: int
            ldc "Byte array has invalid length for an IPv4 address: %s != 4."
         3: .line 122
            aload 0 /* bytes */
            arraylength
         4: .line 119
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;I)V
         5: .line 125
            aload 0 /* bytes */
            invokestatic com.google.common.net.InetAddresses.bytesToInetAddress:([B)Ljava/net/InetAddress;
            checkcast java.net.Inet4Address
            areturn
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  

  public static java.net.InetAddress forString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/InetAddress;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String ipString
         0: .line 139
            aload 0 /* ipString */
            invokestatic com.google.common.net.InetAddresses.ipStringToBytes:(Ljava/lang/String;)[B
            astore 1 /* addr */
        start local 1 // byte[] addr
         1: .line 142
            aload 1 /* addr */
            ifnonnull 3
         2: .line 143
            ldc "'%s' is not an IP string literal."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* ipString */
            aastore
            invokestatic com.google.common.net.InetAddresses.formatIllegalArgumentException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
            athrow
         3: .line 146
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* addr */
            invokestatic com.google.common.net.InetAddresses.bytesToInetAddress:([B)Ljava/net/InetAddress;
            areturn
        end local 1 // byte[] addr
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  ipString  Ljava/lang/String;
            1    4     1      addr  [B
    MethodParameters:
          Name  Flags
      ipString  

  public static boolean isInetAddress(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 ipString
         0: .line 157
            aload 0 /* ipString */
            invokestatic com.google.common.net.InetAddresses.ipStringToBytes:(Ljava/lang/String;)[B
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  ipString  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      ipString  

  private static byte[] ipStringToBytes(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // java.lang.String ipString
         0: .line 162
            iconst_0
            istore 1 /* hasColon */
        start local 1 // boolean hasColon
         1: .line 163
            iconst_0
            istore 2 /* hasDot */
        start local 2 // boolean hasDot
         2: .line 164
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 16
         4: .line 165
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* ipString */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         5: .line 166
            iload 4 /* c */
            bipush 46
            if_icmpne 8
         6: .line 167
            iconst_1
            istore 2 /* hasDot */
         7: .line 168
            goto 15
      StackMap locals: int
      StackMap stack:
         8: iload 4 /* c */
            bipush 58
            if_icmpne 13
         9: .line 169
            iload 2 /* hasDot */
            ifeq 11
        10: .line 170
            aconst_null
            areturn
        11: .line 172
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* hasColon */
        12: .line 173
            goto 15
      StackMap locals:
      StackMap stack:
        13: iload 4 /* c */
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            iconst_m1
            if_icmpne 15
        14: .line 174
            aconst_null
            areturn
        end local 4 // char c
        15: .line 164
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 3 /* i */
            aload 0 /* ipString */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
        end local 3 // int i
        17: .line 179
            iload 1 /* hasColon */
            ifeq 23
        18: .line 180
            iload 2 /* hasDot */
            ifeq 22
        19: .line 181
            aload 0 /* ipString */
            invokestatic com.google.common.net.InetAddresses.convertDottedQuadToHex:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* ipString */
        20: .line 182
            aload 0 /* ipString */
            ifnonnull 22
        21: .line 183
            aconst_null
            areturn
        22: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* ipString */
            invokestatic com.google.common.net.InetAddresses.textToNumericFormatV6:(Ljava/lang/String;)[B
            areturn
        23: .line 187
      StackMap locals:
      StackMap stack:
            iload 2 /* hasDot */
            ifeq 25
        24: .line 188
            aload 0 /* ipString */
            invokestatic com.google.common.net.InetAddresses.textToNumericFormatV4:(Ljava/lang/String;)[B
            areturn
        25: .line 190
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // boolean hasDot
        end local 1 // boolean hasColon
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0  ipString  Ljava/lang/String;
            1   26     1  hasColon  Z
            2   26     2    hasDot  Z
            3   17     3         i  I
            5   15     4         c  C
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      ipString  

  private static byte[] textToNumericFormatV4(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.String ipString
         0: .line 194
            iconst_4
            newarray 8
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         1: .line 195
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: .line 197
            getstatic com.google.common.net.InetAddresses.IPV4_SPLITTER:Lcom/google/common/base/Splitter;
            aload 0 /* ipString */
            invokevirtual com.google.common.base.Splitter.split:(Ljava/lang/CharSequence;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: java.lang.String byte[] int top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* octet */
        start local 3 // java.lang.String octet
         4: .line 198
            aload 1 /* bytes */
            iload 2 /* i */
            iinc 2 /* i */ 1
            aload 3 /* octet */
            invokestatic com.google.common.net.InetAddresses.parseOctet:(Ljava/lang/String;)B
            bastore
        end local 3 // java.lang.String octet
         5: .line 197
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 200
            goto 9
      StackMap locals: java.lang.String byte[] int
      StackMap stack: java.lang.NumberFormatException
         7: pop
         8: .line 201
            aconst_null
            areturn
         9: .line 204
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iconst_4
            if_icmpne 10
            aload 1 /* bytes */
            goto 11
      StackMap locals:
      StackMap stack:
        10: aconst_null
      StackMap locals:
      StackMap stack: byte[]
        11: areturn
        end local 2 // int i
        end local 1 // byte[] bytes
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0  ipString  Ljava/lang/String;
            1   12     1     bytes  [B
            2   12     2         i  I
            4    5     3     octet  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.NumberFormatException
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      ipString  

  private static byte[] textToNumericFormatV6(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // java.lang.String ipString
         0: .line 209
            getstatic com.google.common.net.InetAddresses.IPV6_SPLITTER:Lcom/google/common/base/Splitter;
            aload 0 /* ipString */
            invokevirtual com.google.common.base.Splitter.splitToList:(Ljava/lang/CharSequence;)Ljava/util/List;
            astore 1 /* parts */
        start local 1 // java.util.List parts
         1: .line 210
            aload 1 /* parts */
            invokeinterface java.util.List.size:()I
            iconst_3
            if_icmplt 2
            aload 1 /* parts */
            invokeinterface java.util.List.size:()I
            bipush 9
            if_icmple 3
         2: .line 211
      StackMap locals: java.util.List
      StackMap stack:
            aconst_null
            areturn
         3: .line 216
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 2 /* skipIndex */
        start local 2 // int skipIndex
         4: .line 217
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         5: goto 11
         6: .line 218
      StackMap locals: int int
      StackMap stack:
            aload 1 /* parts */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            ifne 10
         7: .line 219
            iload 2 /* skipIndex */
            iflt 9
         8: .line 220
            aconst_null
            areturn
         9: .line 222
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            istore 2 /* skipIndex */
        10: .line 217
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 1 /* parts */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmplt 6
        end local 3 // int i
        12: .line 228
            iload 2 /* skipIndex */
            iflt 19
        13: .line 230
            iload 2 /* skipIndex */
            istore 3 /* partsHi */
        start local 3 // int partsHi
        14: .line 231
            aload 1 /* parts */
            invokeinterface java.util.List.size:()I
            iload 2 /* skipIndex */
            isub
            iconst_1
            isub
            istore 4 /* partsLo */
        start local 4 // int partsLo
        15: .line 232
            aload 1 /* parts */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            ifne 17
            iinc 3 /* partsHi */ -1
            iload 3 /* partsHi */
            ifeq 17
        16: .line 233
            aconst_null
            areturn
        17: .line 235
      StackMap locals: int
      StackMap stack:
            aload 1 /* parts */
            invokestatic com.google.common.collect.Iterables.getLast:(Ljava/lang/Iterable;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            ifne 21
            iinc 4 /* partsLo */ -1
            iload 4 /* partsLo */
            ifeq 21
        18: .line 236
            aconst_null
            areturn
        end local 4 // int partsLo
        end local 3 // int partsHi
        19: .line 241
      StackMap locals:
      StackMap stack:
            aload 1 /* parts */
            invokeinterface java.util.List.size:()I
            istore 3 /* partsHi */
        start local 3 // int partsHi
        20: .line 242
            iconst_0
            istore 4 /* partsLo */
        start local 4 // int partsLo
        21: .line 247
      StackMap locals: int int
      StackMap stack:
            bipush 8
            iload 3 /* partsHi */
            iload 4 /* partsLo */
            iadd
            isub
            istore 5 /* partsSkipped */
        start local 5 // int partsSkipped
        22: .line 248
            iload 2 /* skipIndex */
            iflt 23
            iload 5 /* partsSkipped */
            iconst_1
            if_icmpge 25
            goto 24
      StackMap locals: int
      StackMap stack:
        23: iload 5 /* partsSkipped */
            ifeq 25
        24: .line 249
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        25: .line 253
      StackMap locals:
      StackMap stack:
            bipush 16
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 6 /* rawBytes */
        start local 6 // java.nio.ByteBuffer rawBytes
        26: .line 255
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        27: goto 30
        28: .line 256
      StackMap locals: java.nio.ByteBuffer int
      StackMap stack:
            aload 6 /* rawBytes */
            aload 1 /* parts */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic com.google.common.net.InetAddresses.parseHextet:(Ljava/lang/String;)S
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            pop
        29: .line 255
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 7 /* i */
            iload 3 /* partsHi */
            if_icmplt 28
        end local 7 // int i
        31: .line 258
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        32: goto 35
        33: .line 259
      StackMap locals:
      StackMap stack:
            aload 6 /* rawBytes */
            iconst_0
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            pop
        34: .line 258
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 7 /* i */
            iload 5 /* partsSkipped */
            if_icmplt 33
        end local 7 // int i
        36: .line 261
            iload 4 /* partsLo */
            istore 7 /* i */
        start local 7 // int i
        37: goto 40
        38: .line 262
      StackMap locals:
      StackMap stack:
            aload 6 /* rawBytes */
            aload 1 /* parts */
            aload 1 /* parts */
            invokeinterface java.util.List.size:()I
            iload 7 /* i */
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic com.google.common.net.InetAddresses.parseHextet:(Ljava/lang/String;)S
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            pop
        39: .line 261
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        40: iload 7 /* i */
            ifgt 38
        end local 7 // int i
        41: .line 264
            goto 44
      StackMap locals: java.lang.String java.util.List int int int int java.nio.ByteBuffer
      StackMap stack: java.lang.NumberFormatException
        42: pop
        43: .line 265
            aconst_null
            areturn
        44: .line 267
      StackMap locals:
      StackMap stack:
            aload 6 /* rawBytes */
            invokevirtual java.nio.ByteBuffer.array:()[B
            areturn
        end local 6 // java.nio.ByteBuffer rawBytes
        end local 5 // int partsSkipped
        end local 4 // int partsLo
        end local 3 // int partsHi
        end local 2 // int skipIndex
        end local 1 // java.util.List parts
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   45     0      ipString  Ljava/lang/String;
            1   45     1         parts  Ljava/util/List<Ljava/lang/String;>;
            4   45     2     skipIndex  I
            5   12     3             i  I
           14   19     3       partsHi  I
           20   45     3       partsHi  I
           15   19     4       partsLo  I
           21   45     4       partsLo  I
           22   45     5  partsSkipped  I
           26   45     6      rawBytes  Ljava/nio/ByteBuffer;
           27   31     7             i  I
           32   36     7             i  I
           37   41     7             i  I
      Exception table:
        from    to  target  type
          26    41      42  Class java.lang.NumberFormatException
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      ipString  

  private static java.lang.String convertDottedQuadToHex(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.lang.String ipString
         0: .line 271
            aload 0 /* ipString */
            bipush 58
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* lastColon */
        start local 1 // int lastColon
         1: .line 272
            aload 0 /* ipString */
            iconst_0
            iload 1 /* lastColon */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* initialPart */
        start local 2 // java.lang.String initialPart
         2: .line 273
            aload 0 /* ipString */
            iload 1 /* lastColon */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* dottedQuad */
        start local 3 // java.lang.String dottedQuad
         3: .line 274
            aload 3 /* dottedQuad */
            invokestatic com.google.common.net.InetAddresses.textToNumericFormatV4:(Ljava/lang/String;)[B
            astore 4 /* quad */
        start local 4 // byte[] quad
         4: .line 275
            aload 4 /* quad */
            ifnonnull 6
         5: .line 276
            aconst_null
            areturn
         6: .line 278
      StackMap locals: java.lang.String int java.lang.String java.lang.String byte[]
      StackMap stack:
            aload 4 /* quad */
            iconst_0
            baload
            sipush 255
            iand
            bipush 8
            ishl
            aload 4 /* quad */
            iconst_1
            baload
            sipush 255
            iand
            ior
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            astore 5 /* penultimate */
        start local 5 // java.lang.String penultimate
         7: .line 279
            aload 4 /* quad */
            iconst_2
            baload
            sipush 255
            iand
            bipush 8
            ishl
            aload 4 /* quad */
            iconst_3
            baload
            sipush 255
            iand
            ior
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            astore 6 /* ultimate */
        start local 6 // java.lang.String ultimate
         8: .line 280
            new java.lang.StringBuilder
            dup
            aload 2 /* initialPart */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* penultimate */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* ultimate */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.lang.String ultimate
        end local 5 // java.lang.String penultimate
        end local 4 // byte[] quad
        end local 3 // java.lang.String dottedQuad
        end local 2 // java.lang.String initialPart
        end local 1 // int lastColon
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0     ipString  Ljava/lang/String;
            1    9     1    lastColon  I
            2    9     2  initialPart  Ljava/lang/String;
            3    9     3   dottedQuad  Ljava/lang/String;
            4    9     4         quad  [B
            7    9     5  penultimate  Ljava/lang/String;
            8    9     6     ultimate  Ljava/lang/String;
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      ipString  

  private static byte parseOctet(java.lang.String);
    descriptor: (Ljava/lang/String;)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String ipPart
         0: .line 285
            aload 0 /* ipPart */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 1 /* octet */
        start local 1 // int octet
         1: .line 288
            iload 1 /* octet */
            sipush 255
            if_icmpgt 2
            aload 0 /* ipPart */
            ldc "0"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
            aload 0 /* ipPart */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 3
         2: .line 289
      StackMap locals: int
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            invokespecial java.lang.NumberFormatException.<init>:()V
            athrow
         3: .line 291
      StackMap locals:
      StackMap stack:
            iload 1 /* octet */
            i2b
            ireturn
        end local 1 // int octet
        end local 0 // java.lang.String ipPart
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  ipPart  Ljava/lang/String;
            1    4     1   octet  I
    MethodParameters:
        Name  Flags
      ipPart  

  private static short parseHextet(java.lang.String);
    descriptor: (Ljava/lang/String;)S
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String ipPart
         0: .line 296
            aload 0 /* ipPart */
            bipush 16
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
            istore 1 /* hextet */
        start local 1 // int hextet
         1: .line 297
            iload 1 /* hextet */
            ldc 65535
            if_icmple 3
         2: .line 298
            new java.lang.NumberFormatException
            dup
            invokespecial java.lang.NumberFormatException.<init>:()V
            athrow
         3: .line 300
      StackMap locals: int
      StackMap stack:
            iload 1 /* hextet */
            i2s
            ireturn
        end local 1 // int hextet
        end local 0 // java.lang.String ipPart
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  ipPart  Ljava/lang/String;
            1    4     1  hextet  I
    MethodParameters:
        Name  Flags
      ipPart  

  private static java.net.InetAddress bytesToInetAddress(byte[]);
    descriptor: ([B)Ljava/net/InetAddress;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // byte[] addr
         0: .line 315
            aload 0 /* addr */
            invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
         1: areturn
         2: .line 316
      StackMap locals:
      StackMap stack: java.net.UnknownHostException
            astore 1 /* e */
        start local 1 // java.net.UnknownHostException e
         3: .line 317
            new java.lang.AssertionError
            dup
            aload 1 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // java.net.UnknownHostException e
        end local 0 // byte[] addr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  addr  [B
            3    4     1     e  Ljava/net/UnknownHostException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.UnknownHostException
    MethodParameters:
      Name  Flags
      addr  

  public static java.lang.String toAddrString(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=4, args_size=1
        start local 0 // java.net.InetAddress ip
         0: .line 337
            aload 0 /* ip */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 338
            aload 0 /* ip */
            instanceof java.net.Inet4Address
            ifeq 3
         2: .line 340
            aload 0 /* ip */
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
            areturn
         3: .line 342
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            instanceof java.net.Inet6Address
            invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
         4: .line 343
            aload 0 /* ip */
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         5: .line 344
            bipush 8
            newarray 10
            astore 2 /* hextets */
        start local 2 // int[] hextets
         6: .line 345
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 10
         8: .line 346
      StackMap locals: byte[] int[] int
      StackMap stack:
            aload 2 /* hextets */
            iload 3 /* i */
            iconst_0
            iconst_0
            aload 1 /* bytes */
            iconst_2
            iload 3 /* i */
            imul
            baload
            aload 1 /* bytes */
            iconst_2
            iload 3 /* i */
            imul
            iconst_1
            iadd
            baload
            invokestatic com.google.common.primitives.Ints.fromBytes:(BBBB)I
            iastore
         9: .line 345
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 2 /* hextets */
            arraylength
            if_icmplt 8
        end local 3 // int i
        11: .line 348
            aload 2 /* hextets */
            invokestatic com.google.common.net.InetAddresses.compressLongestRunOfZeroes:([I)V
        12: .line 349
            aload 2 /* hextets */
            invokestatic com.google.common.net.InetAddresses.hextetsToIPv6String:([I)Ljava/lang/String;
            areturn
        end local 2 // int[] hextets
        end local 1 // byte[] bytes
        end local 0 // java.net.InetAddress ip
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0       ip  Ljava/net/InetAddress;
            5   13     1    bytes  [B
            6   13     2  hextets  [I
            7   11     3        i  I
    MethodParameters:
      Name  Flags
      ip    

  private static void compressLongestRunOfZeroes(int[]);
    descriptor: ([I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // int[] hextets
         0: .line 361
            iconst_m1
            istore 1 /* bestRunStart */
        start local 1 // int bestRunStart
         1: .line 362
            iconst_m1
            istore 2 /* bestRunLength */
        start local 2 // int bestRunLength
         2: .line 363
            iconst_m1
            istore 3 /* runStart */
        start local 3 // int runStart
         3: .line 364
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 16
         5: .line 365
      StackMap locals: int[] int int int int
      StackMap stack:
            iload 4 /* i */
            aload 0 /* hextets */
            arraylength
            if_icmpge 9
            aload 0 /* hextets */
            iload 4 /* i */
            iaload
            ifne 9
         6: .line 366
            iload 3 /* runStart */
            ifge 15
         7: .line 367
            iload 4 /* i */
            istore 3 /* runStart */
         8: .line 369
            goto 15
      StackMap locals:
      StackMap stack:
         9: iload 3 /* runStart */
            iflt 15
        10: .line 370
            iload 4 /* i */
            iload 3 /* runStart */
            isub
            istore 5 /* runLength */
        start local 5 // int runLength
        11: .line 371
            iload 5 /* runLength */
            iload 2 /* bestRunLength */
            if_icmple 14
        12: .line 372
            iload 3 /* runStart */
            istore 1 /* bestRunStart */
        13: .line 373
            iload 5 /* runLength */
            istore 2 /* bestRunLength */
        14: .line 375
      StackMap locals: int
      StackMap stack:
            iconst_m1
            istore 3 /* runStart */
        end local 5 // int runLength
        15: .line 364
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 0 /* hextets */
            arraylength
            iconst_1
            iadd
            if_icmplt 5
        end local 4 // int i
        17: .line 378
            iload 2 /* bestRunLength */
            iconst_2
            if_icmplt 19
        18: .line 379
            aload 0 /* hextets */
            iload 1 /* bestRunStart */
            iload 1 /* bestRunStart */
            iload 2 /* bestRunLength */
            iadd
            iconst_m1
            invokestatic java.util.Arrays.fill:([IIII)V
        19: .line 381
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int runStart
        end local 2 // int bestRunLength
        end local 1 // int bestRunStart
        end local 0 // int[] hextets
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0        hextets  [I
            1   20     1   bestRunStart  I
            2   20     2  bestRunLength  I
            3   20     3       runStart  I
            4   17     4              i  I
           11   15     5      runLength  I
    MethodParameters:
         Name  Flags
      hextets  

  private static java.lang.String hextetsToIPv6String(int[]);
    descriptor: ([I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // int[] hextets
         0: .line 396
            new java.lang.StringBuilder
            dup
            bipush 39
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 397
            iconst_0
            istore 2 /* lastWasNumber */
        start local 2 // boolean lastWasNumber
         2: .line 398
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 16
         4: .line 399
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 0 /* hextets */
            iload 3 /* i */
            iaload
            iflt 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 4 /* thisIsNumber */
        start local 4 // boolean thisIsNumber
         7: .line 400
            iload 4 /* thisIsNumber */
            ifeq 12
         8: .line 401
            iload 2 /* lastWasNumber */
            ifeq 10
         9: .line 402
            aload 1 /* buf */
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 404
      StackMap locals: int
      StackMap stack:
            aload 1 /* buf */
            aload 0 /* hextets */
            iload 3 /* i */
            iaload
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 405
            goto 14
        12: .line 406
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            ifeq 13
            iload 2 /* lastWasNumber */
            ifeq 14
        13: .line 407
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc "::"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 410
      StackMap locals:
      StackMap stack:
            iload 4 /* thisIsNumber */
            istore 2 /* lastWasNumber */
        end local 4 // boolean thisIsNumber
        15: .line 398
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 3 /* i */
            aload 0 /* hextets */
            arraylength
            if_icmplt 4
        end local 3 // int i
        17: .line 412
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // boolean lastWasNumber
        end local 1 // java.lang.StringBuilder buf
        end local 0 // int[] hextets
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0        hextets  [I
            1   18     1            buf  Ljava/lang/StringBuilder;
            2   18     2  lastWasNumber  Z
            3   17     3              i  I
            7   15     4   thisIsNumber  Z
    MethodParameters:
         Name  Flags
      hextets  

  public static java.lang.String toUriString(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.net.InetAddress ip
         0: .line 435
            aload 0 /* ip */
            instanceof java.net.Inet6Address
            ifeq 2
         1: .line 436
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.toAddrString:(Ljava/net/InetAddress;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 438
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.toAddrString:(Ljava/net/InetAddress;)Ljava/lang/String;
            areturn
        end local 0 // java.net.InetAddress ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    ip  Ljava/net/InetAddress;
    MethodParameters:
      Name  Flags
      ip    

  public static java.net.InetAddress forUriString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/InetAddress;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String hostAddr
         0: .line 456
            aload 0 /* hostAddr */
            invokestatic com.google.common.net.InetAddresses.forUriStringNoThrow:(Ljava/lang/String;)Ljava/net/InetAddress;
            astore 1 /* addr */
        start local 1 // java.net.InetAddress addr
         1: .line 457
            aload 1 /* addr */
            ifnonnull 3
         2: .line 458
            ldc "Not a valid URI IP literal: '%s'"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* hostAddr */
            aastore
            invokestatic com.google.common.net.InetAddresses.formatIllegalArgumentException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
            athrow
         3: .line 461
      StackMap locals: java.net.InetAddress
      StackMap stack:
            aload 1 /* addr */
            areturn
        end local 1 // java.net.InetAddress addr
        end local 0 // java.lang.String hostAddr
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  hostAddr  Ljava/lang/String;
            1    4     1      addr  Ljava/net/InetAddress;
    MethodParameters:
          Name  Flags
      hostAddr  

  private static java.net.InetAddress forUriStringNoThrow(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/InetAddress;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.String hostAddr
         0: .line 465
            aload 0 /* hostAddr */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 470
            aload 0 /* hostAddr */
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
            aload 0 /* hostAddr */
            ldc "]"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 5
         2: .line 471
            aload 0 /* hostAddr */
            iconst_1
            aload 0 /* hostAddr */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* ipString */
        start local 1 // java.lang.String ipString
         3: .line 472
            bipush 16
            istore 2 /* expectBytes */
        start local 2 // int expectBytes
         4: .line 473
            goto 7
        end local 2 // int expectBytes
        end local 1 // java.lang.String ipString
         5: .line 474
      StackMap locals:
      StackMap stack:
            aload 0 /* hostAddr */
            astore 1 /* ipString */
        start local 1 // java.lang.String ipString
         6: .line 475
            iconst_4
            istore 2 /* expectBytes */
        start local 2 // int expectBytes
         7: .line 479
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 1 /* ipString */
            invokestatic com.google.common.net.InetAddresses.ipStringToBytes:(Ljava/lang/String;)[B
            astore 3 /* addr */
        start local 3 // byte[] addr
         8: .line 480
            aload 3 /* addr */
            ifnull 9
            aload 3 /* addr */
            arraylength
            iload 2 /* expectBytes */
            if_icmpeq 10
         9: .line 481
      StackMap locals: byte[]
      StackMap stack:
            aconst_null
            areturn
        10: .line 484
      StackMap locals:
      StackMap stack:
            aload 3 /* addr */
            invokestatic com.google.common.net.InetAddresses.bytesToInetAddress:([B)Ljava/net/InetAddress;
            areturn
        end local 3 // byte[] addr
        end local 2 // int expectBytes
        end local 1 // java.lang.String ipString
        end local 0 // java.lang.String hostAddr
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0     hostAddr  Ljava/lang/String;
            3    5     1     ipString  Ljava/lang/String;
            6   11     1     ipString  Ljava/lang/String;
            4    5     2  expectBytes  I
            7   11     2  expectBytes  I
            8   11     3         addr  [B
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
          Name  Flags
      hostAddr  

  public static boolean isUriInetAddress(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 ipString
         0: .line 495
            aload 0 /* ipString */
            invokestatic com.google.common.net.InetAddresses.forUriStringNoThrow:(Ljava/lang/String;)Ljava/net/InetAddress;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  ipString  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      ipString  

  public static boolean isCompatIPv4Address(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 517
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.isIPv4CompatibleAddress:()Z
            ifne 2
         1: .line 518
            iconst_0
            ireturn
         2: .line 521
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         3: .line 522
            aload 1 /* bytes */
            bipush 12
            baload
            ifne 8
         4: .line 523
            aload 1 /* bytes */
            bipush 13
            baload
            ifne 8
         5: .line 524
            aload 1 /* bytes */
            bipush 14
            baload
            ifne 8
         6: .line 525
            aload 1 /* bytes */
            bipush 15
            baload
            ifeq 7
            aload 1 /* bytes */
            bipush 15
            baload
            iconst_1
            if_icmpne 8
         7: .line 526
      StackMap locals: byte[]
      StackMap stack:
            iconst_0
            ireturn
         8: .line 529
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // byte[] bytes
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0     ip  Ljava/net/Inet6Address;
            3    9     1  bytes  [B
    MethodParameters:
      Name  Flags
      ip    

  public static java.net.Inet4Address getCompatIPv4Address(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Ljava/net/Inet4Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 541
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isCompatIPv4Address:(Ljava/net/Inet6Address;)Z
            ldc "Address '%s' is not IPv4-compatible."
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.toAddrString:(Ljava/net/InetAddress;)Ljava/lang/String;
         1: .line 540
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
         2: .line 543
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            bipush 12
            bipush 16
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            invokestatic com.google.common.net.InetAddresses.getInet4Address:([B)Ljava/net/Inet4Address;
            areturn
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    ip  Ljava/net/Inet6Address;
    MethodParameters:
      Name  Flags
      ip    

  public static boolean is6to4Address(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 559
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         1: .line 560
            aload 1 /* bytes */
            iconst_0
            baload
            bipush 32
            if_icmpne 2
            aload 1 /* bytes */
            iconst_1
            baload
            iconst_2
            if_icmpne 2
            iconst_1
            ireturn
      StackMap locals: byte[]
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // byte[] bytes
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0     ip  Ljava/net/Inet6Address;
            1    3     1  bytes  [B
    MethodParameters:
      Name  Flags
      ip    

  public static java.net.Inet4Address get6to4IPv4Address(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Ljava/net/Inet4Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 571
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.is6to4Address:(Ljava/net/Inet6Address;)Z
            ldc "Address '%s' is not a 6to4 address."
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.toAddrString:(Ljava/net/InetAddress;)Ljava/lang/String;
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
         1: .line 573
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            iconst_2
            bipush 6
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            invokestatic com.google.common.net.InetAddresses.getInet4Address:([B)Ljava/net/Inet4Address;
            areturn
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ip  Ljava/net/Inet6Address;
    MethodParameters:
      Name  Flags
      ip    

  public static boolean isTeredoAddress(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 647
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         1: .line 648
            aload 1 /* bytes */
            iconst_0
            baload
            bipush 32
            if_icmpne 6
         2: .line 649
            aload 1 /* bytes */
            iconst_1
            baload
            iconst_1
            if_icmpne 6
         3: .line 650
            aload 1 /* bytes */
            iconst_2
            baload
            ifne 6
         4: .line 651
            aload 1 /* bytes */
            iconst_3
            baload
            ifne 6
         5: .line 648
            iconst_1
            ireturn
      StackMap locals: byte[]
      StackMap stack:
         6: iconst_0
            ireturn
        end local 1 // byte[] bytes
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0     ip  Ljava/net/Inet6Address;
            1    7     1  bytes  [B
    MethodParameters:
      Name  Flags
      ip    

  public static com.google.common.net.InetAddresses$TeredoInfo getTeredoInfo(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Lcom/google/common/net/InetAddresses$TeredoInfo;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 662
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isTeredoAddress:(Ljava/net/Inet6Address;)Z
            ldc "Address '%s' is not a Teredo address."
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.toAddrString:(Ljava/net/InetAddress;)Ljava/lang/String;
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
         1: .line 664
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         2: .line 665
            aload 1 /* bytes */
            iconst_4
            bipush 8
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            invokestatic com.google.common.net.InetAddresses.getInet4Address:([B)Ljava/net/Inet4Address;
            astore 2 /* server */
        start local 2 // java.net.Inet4Address server
         3: .line 667
            aload 1 /* bytes */
            bipush 8
            invokestatic com.google.common.io.ByteStreams.newDataInput:([BI)Lcom/google/common/io/ByteArrayDataInput;
            invokeinterface com.google.common.io.ByteArrayDataInput.readShort:()S
            ldc 65535
            iand
            istore 3 /* flags */
        start local 3 // int flags
         4: .line 670
            aload 1 /* bytes */
            bipush 10
            invokestatic com.google.common.io.ByteStreams.newDataInput:([BI)Lcom/google/common/io/ByteArrayDataInput;
            invokeinterface com.google.common.io.ByteArrayDataInput.readShort:()S
            iconst_m1
            ixor
            ldc 65535
            iand
            istore 4 /* port */
        start local 4 // int port
         5: .line 672
            aload 1 /* bytes */
            bipush 12
            bipush 16
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            astore 5 /* clientBytes */
        start local 5 // byte[] clientBytes
         6: .line 673
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 10
         8: .line 675
      StackMap locals: java.net.Inet6Address byte[] java.net.Inet4Address int int byte[] int
      StackMap stack:
            aload 5 /* clientBytes */
            iload 6 /* i */
            aload 5 /* clientBytes */
            iload 6 /* i */
            baload
            iconst_m1
            ixor
            i2b
            bastore
         9: .line 673
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            aload 5 /* clientBytes */
            arraylength
            if_icmplt 8
        end local 6 // int i
        11: .line 677
            aload 5 /* clientBytes */
            invokestatic com.google.common.net.InetAddresses.getInet4Address:([B)Ljava/net/Inet4Address;
            astore 6 /* client */
        start local 6 // java.net.Inet4Address client
        12: .line 679
            new com.google.common.net.InetAddresses$TeredoInfo
            dup
            aload 2 /* server */
            aload 6 /* client */
            iload 4 /* port */
            iload 3 /* flags */
            invokespecial com.google.common.net.InetAddresses$TeredoInfo.<init>:(Ljava/net/Inet4Address;Ljava/net/Inet4Address;II)V
            areturn
        end local 6 // java.net.Inet4Address client
        end local 5 // byte[] clientBytes
        end local 4 // int port
        end local 3 // int flags
        end local 2 // java.net.Inet4Address server
        end local 1 // byte[] bytes
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0           ip  Ljava/net/Inet6Address;
            2   13     1        bytes  [B
            3   13     2       server  Ljava/net/Inet4Address;
            4   13     3        flags  I
            5   13     4         port  I
            6   13     5  clientBytes  [B
            7   11     6            i  I
           12   13     6       client  Ljava/net/Inet4Address;
    MethodParameters:
      Name  Flags
      ip    

  public static boolean isIsatapAddress(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 699
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isTeredoAddress:(Ljava/net/Inet6Address;)Z
            ifeq 2
         1: .line 700
            iconst_0
            ireturn
         2: .line 703
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         3: .line 705
            aload 1 /* bytes */
            bipush 8
            baload
            iconst_3
            ior
            iconst_3
            if_icmpeq 5
         4: .line 709
            iconst_0
            ireturn
         5: .line 712
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* bytes */
            bipush 9
            baload
            ifne 6
            aload 1 /* bytes */
            bipush 10
            baload
            bipush 94
            if_icmpne 6
            aload 1 /* bytes */
            bipush 11
            baload
            bipush -2
            if_icmpne 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 1 // byte[] bytes
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0     ip  Ljava/net/Inet6Address;
            3    7     1  bytes  [B
    MethodParameters:
      Name  Flags
      ip    

  public static java.net.Inet4Address getIsatapIPv4Address(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Ljava/net/Inet4Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 723
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isIsatapAddress:(Ljava/net/Inet6Address;)Z
            ldc "Address '%s' is not an ISATAP address."
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.toAddrString:(Ljava/net/InetAddress;)Ljava/lang/String;
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
         1: .line 725
            aload 0 /* ip */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            bipush 12
            bipush 16
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            invokestatic com.google.common.net.InetAddresses.getInet4Address:([B)Ljava/net/Inet4Address;
            areturn
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ip  Ljava/net/Inet6Address;
    MethodParameters:
      Name  Flags
      ip    

  public static boolean hasEmbeddedIPv4ClientAddress(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 741
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isCompatIPv4Address:(Ljava/net/Inet6Address;)Z
            ifne 1
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.is6to4Address:(Ljava/net/Inet6Address;)Z
            ifne 1
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isTeredoAddress:(Ljava/net/Inet6Address;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ip  Ljava/net/Inet6Address;
    MethodParameters:
      Name  Flags
      ip    

  public static java.net.Inet4Address getEmbeddedIPv4ClientAddress(java.net.Inet6Address);
    descriptor: (Ljava/net/Inet6Address;)Ljava/net/Inet4Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.net.Inet6Address ip
         0: .line 757
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isCompatIPv4Address:(Ljava/net/Inet6Address;)Z
            ifeq 2
         1: .line 758
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.getCompatIPv4Address:(Ljava/net/Inet6Address;)Ljava/net/Inet4Address;
            areturn
         2: .line 761
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.is6to4Address:(Ljava/net/Inet6Address;)Z
            ifeq 4
         3: .line 762
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.get6to4IPv4Address:(Ljava/net/Inet6Address;)Ljava/net/Inet4Address;
            areturn
         4: .line 765
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.isTeredoAddress:(Ljava/net/Inet6Address;)Z
            ifeq 6
         5: .line 766
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.getTeredoInfo:(Ljava/net/Inet6Address;)Lcom/google/common/net/InetAddresses$TeredoInfo;
            invokevirtual com.google.common.net.InetAddresses$TeredoInfo.getClient:()Ljava/net/Inet4Address;
            areturn
         6: .line 769
      StackMap locals:
      StackMap stack:
            ldc "'%s' has no embedded IPv4 address."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.toAddrString:(Ljava/net/InetAddress;)Ljava/lang/String;
            aastore
            invokestatic com.google.common.net.InetAddresses.formatIllegalArgumentException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
            athrow
        end local 0 // java.net.Inet6Address ip
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    ip  Ljava/net/Inet6Address;
    MethodParameters:
      Name  Flags
      ip    

  public static boolean isMappedIPv4Address(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String ipString
         0: .line 791
            aload 0 /* ipString */
            invokestatic com.google.common.net.InetAddresses.ipStringToBytes:(Ljava/lang/String;)[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         1: .line 792
            aload 1 /* bytes */
            ifnull 15
            aload 1 /* bytes */
            arraylength
            bipush 16
            if_icmpne 15
         2: .line 793
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 794
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* bytes */
            iload 2 /* i */
            baload
            ifeq 6
         5: .line 795
            iconst_0
            ireturn
         6: .line 793
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            bipush 10
            if_icmplt 4
        end local 2 // int i
         8: .line 798
            bipush 10
            istore 2 /* i */
        start local 2 // int i
         9: goto 13
        10: .line 799
      StackMap locals:
      StackMap stack:
            aload 1 /* bytes */
            iload 2 /* i */
            baload
            iconst_m1
            if_icmpeq 12
        11: .line 800
            iconst_0
            ireturn
        12: .line 798
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            bipush 12
            if_icmplt 10
        end local 2 // int i
        14: .line 803
            iconst_1
            ireturn
        15: .line 805
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // byte[] bytes
        end local 0 // java.lang.String ipString
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0  ipString  Ljava/lang/String;
            1   16     1     bytes  [B
            3    8     2         i  I
            9   14     2         i  I
    MethodParameters:
          Name  Flags
      ipString  

  public static java.net.Inet4Address getCoercedIPv4Address(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Ljava/net/Inet4Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // java.net.InetAddress ip
         0: .line 827
            aload 0 /* ip */
            instanceof java.net.Inet4Address
            ifeq 2
         1: .line 828
            aload 0 /* ip */
            checkcast java.net.Inet4Address
            areturn
         2: .line 832
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         3: .line 833
            iconst_1
            istore 2 /* leadingBytesOfZero */
        start local 2 // boolean leadingBytesOfZero
         4: .line 834
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 10
         6: .line 835
      StackMap locals: byte[] int int
      StackMap stack:
            aload 1 /* bytes */
            iload 3 /* i */
            baload
            ifeq 9
         7: .line 836
            iconst_0
            istore 2 /* leadingBytesOfZero */
         8: .line 837
            goto 11
         9: .line 834
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            bipush 15
            if_icmplt 6
        end local 3 // int i
        11: .line 840
      StackMap locals:
      StackMap stack:
            iload 2 /* leadingBytesOfZero */
            ifeq 13
            aload 1 /* bytes */
            bipush 15
            baload
            iconst_1
            if_icmpne 13
        12: .line 841
            getstatic com.google.common.net.InetAddresses.LOOPBACK4:Ljava/net/Inet4Address;
            areturn
        13: .line 842
      StackMap locals:
      StackMap stack:
            iload 2 /* leadingBytesOfZero */
            ifeq 15
            aload 1 /* bytes */
            bipush 15
            baload
            ifne 15
        14: .line 843
            getstatic com.google.common.net.InetAddresses.ANY4:Ljava/net/Inet4Address;
            areturn
        15: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* ip */
            checkcast java.net.Inet6Address
            astore 3 /* ip6 */
        start local 3 // java.net.Inet6Address ip6
        16: .line 847
            lconst_0
            lstore 4 /* addressAsLong */
        start local 4 // long addressAsLong
        17: .line 848
            aload 3 /* ip6 */
            invokestatic com.google.common.net.InetAddresses.hasEmbeddedIPv4ClientAddress:(Ljava/net/Inet6Address;)Z
            ifeq 20
        18: .line 849
            aload 3 /* ip6 */
            invokestatic com.google.common.net.InetAddresses.getEmbeddedIPv4ClientAddress:(Ljava/net/Inet6Address;)Ljava/net/Inet4Address;
            invokevirtual java.net.Inet4Address.hashCode:()I
            i2l
            lstore 4 /* addressAsLong */
        19: .line 850
            goto 21
        20: .line 853
      StackMap locals: java.net.Inet6Address long
      StackMap stack:
            aload 3 /* ip6 */
            invokevirtual java.net.Inet6Address.getAddress:()[B
            iconst_0
            bipush 8
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.getLong:()J
            lstore 4 /* addressAsLong */
        21: .line 857
      StackMap locals:
      StackMap stack:
            invokestatic com.google.common.hash.Hashing.murmur3_32:()Lcom/google/common/hash/HashFunction;
            lload 4 /* addressAsLong */
            invokeinterface com.google.common.hash.HashFunction.hashLong:(J)Lcom/google/common/hash/HashCode;
            invokevirtual com.google.common.hash.HashCode.asInt:()I
            istore 6 /* coercedHash */
        start local 6 // int coercedHash
        22: .line 860
            iload 6 /* coercedHash */
            ldc -536870912
            ior
            istore 6 /* coercedHash */
        23: .line 864
            iload 6 /* coercedHash */
            iconst_m1
            if_icmpne 25
        24: .line 865
            bipush -2
            istore 6 /* coercedHash */
        25: .line 868
      StackMap locals: int
      StackMap stack:
            iload 6 /* coercedHash */
            invokestatic com.google.common.primitives.Ints.toByteArray:(I)[B
            invokestatic com.google.common.net.InetAddresses.getInet4Address:([B)Ljava/net/Inet4Address;
            areturn
        end local 6 // int coercedHash
        end local 4 // long addressAsLong
        end local 3 // java.net.Inet6Address ip6
        end local 2 // boolean leadingBytesOfZero
        end local 1 // byte[] bytes
        end local 0 // java.net.InetAddress ip
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   26     0                  ip  Ljava/net/InetAddress;
            3   26     1               bytes  [B
            4   26     2  leadingBytesOfZero  Z
            5   11     3                   i  I
           16   26     3                 ip6  Ljava/net/Inet6Address;
           17   26     4       addressAsLong  J
           22   26     6         coercedHash  I
    MethodParameters:
      Name  Flags
      ip    

  public static int coerceToInteger(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.InetAddress ip
         0: .line 890
            aload 0 /* ip */
            invokestatic com.google.common.net.InetAddresses.getCoercedIPv4Address:(Ljava/net/InetAddress;)Ljava/net/Inet4Address;
            invokevirtual java.net.Inet4Address.getAddress:()[B
            invokestatic com.google.common.io.ByteStreams.newDataInput:([B)Lcom/google/common/io/ByteArrayDataInput;
            invokeinterface com.google.common.io.ByteArrayDataInput.readInt:()I
            ireturn
        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.net.Inet4Address fromInteger(int);
    descriptor: (I)Ljava/net/Inet4Address;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int address
         0: .line 900
            iload 0 /* address */
            invokestatic com.google.common.primitives.Ints.toByteArray:(I)[B
            invokestatic com.google.common.net.InetAddresses.getInet4Address:([B)Ljava/net/Inet4Address;
            areturn
        end local 0 // int address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  address  I
    MethodParameters:
         Name  Flags
      address  

  public static java.net.InetAddress fromLittleEndianByteArray(byte[]);
    descriptor: ([B)Ljava/net/InetAddress;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // byte[] addr
         0: .line 914
            aload 0 /* addr */
            arraylength
            newarray 8
            astore 1 /* reversed */
        start local 1 // byte[] reversed
         1: .line 915
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 916
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* reversed */
            iload 2 /* i */
            aload 0 /* addr */
            aload 0 /* addr */
            arraylength
            iload 2 /* i */
            isub
            iconst_1
            isub
            baload
            bastore
         4: .line 915
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* addr */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 918
            aload 1 /* reversed */
            invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
            areturn
        end local 1 // byte[] reversed
        end local 0 // byte[] addr
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      addr  [B
            1    7     1  reversed  [B
            2    6     2         i  I
    Exceptions:
      throws java.net.UnknownHostException
    MethodParameters:
      Name  Flags
      addr  

  public static java.net.InetAddress decrement(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Ljava/net/InetAddress;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.net.InetAddress address
         0: .line 931
            aload 0 /* address */
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 1 /* addr */
        start local 1 // byte[] addr
         1: .line 932
            aload 1 /* addr */
            arraylength
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         2: .line 933
            goto 5
         3: .line 934
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* addr */
            iload 2 /* i */
            iconst_m1
            bastore
         4: .line 935
            iinc 2 /* i */ -1
         5: .line 933
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iflt 6
            aload 1 /* addr */
            iload 2 /* i */
            baload
            ifeq 3
         6: .line 938
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iflt 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: ldc "Decrementing %s would wrap."
            aload 0 /* address */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
         9: .line 940
            aload 1 /* addr */
            iload 2 /* i */
            dup2
            baload
            iconst_1
            isub
            i2b
            bastore
        10: .line 941
            aload 1 /* addr */
            invokestatic com.google.common.net.InetAddresses.bytesToInetAddress:([B)Ljava/net/InetAddress;
            areturn
        end local 2 // int i
        end local 1 // byte[] addr
        end local 0 // java.net.InetAddress address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0  address  Ljava/net/InetAddress;
            1   11     1     addr  [B
            2   11     2        i  I
    MethodParameters:
         Name  Flags
      address  

  public static java.net.InetAddress increment(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Ljava/net/InetAddress;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.net.InetAddress address
         0: .line 954
            aload 0 /* address */
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 1 /* addr */
        start local 1 // byte[] addr
         1: .line 955
            aload 1 /* addr */
            arraylength
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         2: .line 956
            goto 5
         3: .line 957
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* addr */
            iload 2 /* i */
            iconst_0
            bastore
         4: .line 958
            iinc 2 /* i */ -1
         5: .line 956
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iflt 6
            aload 1 /* addr */
            iload 2 /* i */
            baload
            iconst_m1
            if_icmpeq 3
         6: .line 961
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iflt 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: ldc "Incrementing %s would wrap."
            aload 0 /* address */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;Ljava/lang/Object;)V
         9: .line 963
            aload 1 /* addr */
            iload 2 /* i */
            dup2
            baload
            iconst_1
            iadd
            i2b
            bastore
        10: .line 964
            aload 1 /* addr */
            invokestatic com.google.common.net.InetAddresses.bytesToInetAddress:([B)Ljava/net/InetAddress;
            areturn
        end local 2 // int i
        end local 1 // byte[] addr
        end local 0 // java.net.InetAddress address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0  address  Ljava/net/InetAddress;
            1   11     1     addr  [B
            2   11     2        i  I
    MethodParameters:
         Name  Flags
      address  

  public static boolean isMaximum(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.net.InetAddress address
         0: .line 976
            aload 0 /* address */
            invokevirtual java.net.InetAddress.getAddress:()[B
            astore 1 /* addr */
        start local 1 // byte[] addr
         1: .line 977
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 978
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* addr */
            iload 2 /* i */
            baload
            iconst_m1
            if_icmpeq 5
         4: .line 979
            iconst_0
            ireturn
         5: .line 977
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 1 /* addr */
            arraylength
            if_icmplt 3
        end local 2 // int i
         7: .line 982
            iconst_1
            ireturn
        end local 1 // byte[] addr
        end local 0 // java.net.InetAddress address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  address  Ljava/net/InetAddress;
            1    8     1     addr  [B
            2    7     2        i  I
    MethodParameters:
         Name  Flags
      address  

  private static java.lang.IllegalArgumentException formatIllegalArgumentException(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.String format
        start local 1 // java.lang.Object[] args
         0: .line 987
            new java.lang.IllegalArgumentException
            dup
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            aload 0 /* format */
            aload 1 /* args */
            invokestatic java.lang.String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.Object[] args
        end local 0 // java.lang.String format
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  format  Ljava/lang/String;
            0    1     1    args  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      format  
      args    
}
SourceFile: "InetAddresses.java"
NestMembers:
  com.google.common.net.InetAddresses$TeredoInfo
InnerClasses:
  public final TeredoInfo = com.google.common.net.InetAddresses$TeredoInfo of com.google.common.net.InetAddresses
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
      com.google.common.annotations.GwtIncompatible()