class sun.security.krb5.internal.rcache.DflCache$Storage implements java.io.Closeable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.krb5.internal.rcache.DflCache$Storage
  super_class: java.lang.Object
{
  java.nio.channels.SeekableByteChannel chan;
    descriptor: Ljava/nio/channels/SeekableByteChannel;
    flags: (0x0000) 

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.krb5.internal.rcache.DflCache$Storage this
         0: .line 207
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.security.krb5.internal.rcache.DflCache$Storage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/krb5/internal/rcache/DflCache$Storage;

  private static void create(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.nio.file.Path p
         0: .line 211
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* p */
            invokestatic sun.security.krb5.internal.rcache.DflCache$Storage.createNoClose:(Ljava/nio/file/Path;)Ljava/nio/channels/SeekableByteChannel;
            astore 3 /* newChan */
        start local 3 // java.nio.channels.SeekableByteChannel newChan
         2: .line 213
            aload 3 /* newChan */
            ifnull 8
            aload 3 /* newChan */
            invokeinterface java.nio.channels.SeekableByteChannel.close:()V
            goto 8
      StackMap locals: java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.channels.SeekableByteChannel
      StackMap stack: java.lang.Throwable
         3: astore 1
            aload 3 /* newChan */
            ifnull 4
            aload 3 /* newChan */
            invokeinterface java.nio.channels.SeekableByteChannel.close:()V
        end local 3 // java.nio.channels.SeekableByteChannel newChan
      StackMap locals:
      StackMap stack:
         4: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: astore 2
            aload 1
            ifnonnull 6
            aload 2
            astore 1
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 1
            aload 2
            if_acmpeq 7
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         7: aload 1
            athrow
         8: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* p */
            invokestatic sun.security.krb5.internal.rcache.DflCache$Storage.makeMine:(Ljava/nio/file/Path;)V
         9: .line 215
            return
        end local 0 // java.nio.file.Path p
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0        p  Ljava/nio/file/Path;
            2    4     3  newChan  Ljava/nio/channels/SeekableByteChannel;
      Exception table:
        from    to  target  type
           1     5       5  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      p     

  private static void makeMine(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.file.Path p
         0: .line 220
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* attrs */
        start local 1 // java.util.Set attrs
         1: .line 221
            aload 1 /* attrs */
            getstatic java.nio.file.attribute.PosixFilePermission.OWNER_READ:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 222
            aload 1 /* attrs */
            getstatic java.nio.file.attribute.PosixFilePermission.OWNER_WRITE:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 223
            aload 0 /* p */
            aload 1 /* attrs */
            invokestatic java.nio.file.Files.setPosixFilePermissions:(Ljava/nio/file/Path;Ljava/util/Set;)Ljava/nio/file/Path;
            pop
        end local 1 // java.util.Set attrs
         4: .line 224
            goto 6
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
         5: pop
         6: .line 227
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.nio.file.Path p
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0      p  Ljava/nio/file/Path;
            1    4     1  attrs  Ljava/util/Set<Ljava/nio/file/attribute/PosixFilePermission;>;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.UnsupportedOperationException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      p     

  private static java.nio.channels.SeekableByteChannel createNoClose(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/nio/channels/SeekableByteChannel;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.nio.file.Path p
         0: .line 232
            aload 0 /* p */
            iconst_3
            anewarray java.nio.file.OpenOption
            dup
            iconst_0
            getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
            aastore
            dup
            iconst_1
         1: .line 233
            getstatic java.nio.file.StandardOpenOption.TRUNCATE_EXISTING:Ljava/nio/file/StandardOpenOption;
            aastore
            dup
            iconst_2
         2: .line 234
            getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
            aastore
         3: .line 231
            invokestatic java.nio.file.Files.newByteChannel:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/SeekableByteChannel;
            astore 1 /* newChan */
        start local 1 // java.nio.channels.SeekableByteChannel newChan
         4: .line 235
            bipush 6
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         5: .line 236
            aload 2 /* buffer */
            sipush 1281
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            pop
         6: .line 237
            aload 2 /* buffer */
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         7: .line 238
            aload 2 /* buffer */
            invokestatic sun.security.krb5.internal.KerberosTime.getDefaultSkew:()I
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
         8: .line 239
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
         9: .line 240
            aload 1 /* newChan */
            aload 2 /* buffer */
            invokeinterface java.nio.channels.SeekableByteChannel.write:(Ljava/nio/ByteBuffer;)I
            pop
        10: .line 241
            aload 1 /* newChan */
            areturn
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // java.nio.channels.SeekableByteChannel newChan
        end local 0 // java.nio.file.Path p
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0        p  Ljava/nio/file/Path;
            4   11     1  newChan  Ljava/nio/channels/SeekableByteChannel;
            5   11     2   buffer  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      p     

  private static void expunge(java.nio.file.Path, sun.security.krb5.internal.KerberosTime);
    descriptor: (Ljava/nio/file/Path;Lsun/security/krb5/internal/KerberosTime;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // java.nio.file.Path p
        start local 1 // sun.security.krb5.internal.KerberosTime currTime
         0: .line 246
            aload 0 /* p */
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            ldc "rcache"
            aconst_null
            iconst_0
            anewarray java.nio.file.attribute.FileAttribute
            invokestatic java.nio.file.Files.createTempFile:(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
            astore 2 /* p2 */
        start local 2 // java.nio.file.Path p2
         1: .line 247
            aconst_null
            astore 3
            aconst_null
            astore 4
         2: aload 0 /* p */
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.newByteChannel:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/SeekableByteChannel;
            astore 5 /* oldChan */
        start local 5 // java.nio.channels.SeekableByteChannel oldChan
         3: .line 248
            aload 2 /* p2 */
            invokestatic sun.security.krb5.internal.rcache.DflCache$Storage.createNoClose:(Ljava/nio/file/Path;)Ljava/nio/channels/SeekableByteChannel;
            astore 6 /* newChan */
        start local 6 // java.nio.channels.SeekableByteChannel newChan
         4: .line 249
            aload 1 /* currTime */
            invokevirtual sun.security.krb5.internal.KerberosTime.getSeconds:()I
            aload 5 /* oldChan */
            invokestatic sun.security.krb5.internal.rcache.DflCache$Storage.readHeader:(Ljava/nio/channels/SeekableByteChannel;)I
            isub
            i2l
            lstore 7 /* timeLimit */
        start local 7 // long timeLimit
         5: .line 252
      StackMap locals: java.nio.file.Path sun.security.krb5.internal.KerberosTime java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.channels.SeekableByteChannel java.nio.channels.SeekableByteChannel long
      StackMap stack:
            aload 5 /* oldChan */
            invokestatic sun.security.krb5.internal.rcache.AuthTime.readFrom:(Ljava/nio/channels/SeekableByteChannel;)Lsun/security/krb5/internal/rcache/AuthTime;
            astore 9 /* at */
        start local 9 // sun.security.krb5.internal.rcache.AuthTime at
         6: .line 253
            aload 9 /* at */
            getfield sun.security.krb5.internal.rcache.AuthTime.ctime:I
            i2l
            lload 7 /* timeLimit */
            lcmp
            ifle 5
         7: .line 254
            aload 9 /* at */
            iconst_1
            invokevirtual sun.security.krb5.internal.rcache.AuthTime.encode:(Z)[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 10 /* bb */
        start local 10 // java.nio.ByteBuffer bb
         8: .line 255
            aload 6 /* newChan */
            aload 10 /* bb */
            invokeinterface java.nio.channels.SeekableByteChannel.write:(Ljava/nio/ByteBuffer;)I
            pop
        end local 10 // java.nio.ByteBuffer bb
        end local 9 // sun.security.krb5.internal.rcache.AuthTime at
         9: .line 257
            goto 5
      StackMap locals:
      StackMap stack: java.nio.BufferUnderflowException
        10: pop
        end local 7 // long timeLimit
        11: .line 261
            aload 6 /* newChan */
            ifnull 14
            aload 6 /* newChan */
            invokeinterface java.nio.channels.SeekableByteChannel.close:()V
            goto 14
      StackMap locals: java.nio.file.Path sun.security.krb5.internal.KerberosTime java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.channels.SeekableByteChannel java.nio.channels.SeekableByteChannel
      StackMap stack: java.lang.Throwable
        12: astore 3
            aload 6 /* newChan */
            ifnull 13
            aload 6 /* newChan */
            invokeinterface java.nio.channels.SeekableByteChannel.close:()V
        end local 6 // java.nio.channels.SeekableByteChannel newChan
      StackMap locals:
      StackMap stack:
        13: aload 3
            athrow
      StackMap locals:
      StackMap stack:
        14: aload 5 /* oldChan */
            ifnull 22
            aload 5 /* oldChan */
            invokeinterface java.nio.channels.SeekableByteChannel.close:()V
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 4
            aload 3
            ifnonnull 16
            aload 4
            astore 3
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 3
            aload 4
            if_acmpeq 17
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 5 /* oldChan */
            ifnull 18
            aload 5 /* oldChan */
            invokeinterface java.nio.channels.SeekableByteChannel.close:()V
        end local 5 // java.nio.channels.SeekableByteChannel oldChan
      StackMap locals:
      StackMap stack:
        18: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 4
            aload 3
            ifnonnull 20
            aload 4
            astore 3
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 3
            aload 4
            if_acmpeq 21
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 3
            athrow
        22: .line 262
      StackMap locals:
      StackMap stack:
            aload 2 /* p2 */
            invokestatic sun.security.krb5.internal.rcache.DflCache$Storage.makeMine:(Ljava/nio/file/Path;)V
        23: .line 263
            aload 2 /* p2 */
            aload 0 /* p */
            iconst_2
            anewarray java.nio.file.CopyOption
            dup
            iconst_0
        24: .line 264
            getstatic java.nio.file.StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
            aastore
            dup
            iconst_1
        25: .line 265
            getstatic java.nio.file.StandardCopyOption.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption;
            aastore
        26: .line 263
            invokestatic java.nio.file.Files.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
            pop
        27: .line 266
            return
        end local 2 // java.nio.file.Path p2
        end local 1 // sun.security.krb5.internal.KerberosTime currTime
        end local 0 // java.nio.file.Path p
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   28     0          p  Ljava/nio/file/Path;
            0   28     1   currTime  Lsun/security/krb5/internal/KerberosTime;
            1   28     2         p2  Ljava/nio/file/Path;
            3   18     5    oldChan  Ljava/nio/channels/SeekableByteChannel;
            4   13     6    newChan  Ljava/nio/channels/SeekableByteChannel;
            5   11     7  timeLimit  J
            6    9     9         at  Lsun/security/krb5/internal/rcache/AuthTime;
            8    9    10         bb  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           5     9      10  Class java.nio.BufferUnderflowException
           4    11      12  any
           3    14      15  any
           2    19      19  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      p         
      currTime  

  private int loadAndCheck(java.nio.file.Path, sun.security.krb5.internal.rcache.AuthTimeWithHash, sun.security.krb5.internal.KerberosTime);
    descriptor: (Ljava/nio/file/Path;Lsun/security/krb5/internal/rcache/AuthTimeWithHash;Lsun/security/krb5/internal/KerberosTime;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // sun.security.krb5.internal.rcache.DflCache$Storage this
        start local 1 // java.nio.file.Path p
        start local 2 // sun.security.krb5.internal.rcache.AuthTimeWithHash time
        start local 3 // sun.security.krb5.internal.KerberosTime currTime
         0: .line 273
            iconst_0
            istore 4 /* missed */
        start local 4 // int missed
         1: .line 274
            aload 1 /* p */
            invokestatic java.nio.file.Files.isSymbolicLink:(Ljava/nio/file/Path;)Z
            ifeq 3
         2: .line 275
            new java.io.IOException
            dup
            ldc "Symlink not accepted"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 279
      StackMap locals: int
      StackMap stack:
            aload 1 /* p */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.getPosixFilePermissions:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/util/Set;
         4: .line 278
            astore 5 /* perms */
        start local 5 // java.util.Set perms
         5: .line 280
            getstatic sun.security.krb5.internal.rcache.DflCache.uid:I
            iconst_m1
            if_icmpeq 8
         6: .line 281
            aload 1 /* p */
            ldc "unix:uid"
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.getAttribute:(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            getstatic sun.security.krb5.internal.rcache.DflCache.uid:I
            if_icmpeq 8
         7: .line 282
            new java.io.IOException
            dup
            ldc "Not mine"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 284
      StackMap locals: java.util.Set
      StackMap stack:
            aload 5 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.GROUP_READ:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 14
         9: .line 285
            aload 5 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.GROUP_WRITE:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 14
        10: .line 286
            aload 5 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.GROUP_EXECUTE:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 14
        11: .line 287
            aload 5 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.OTHERS_READ:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 14
        12: .line 288
            aload 5 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.OTHERS_WRITE:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 14
        13: .line 289
            aload 5 /* perms */
            getstatic java.nio.file.attribute.PosixFilePermission.OTHERS_EXECUTE:Ljava/nio/file/attribute/PosixFilePermission;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 290
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Accessible by someone else"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.util.Set perms
        15: .line 292
      StackMap locals: sun.security.krb5.internal.rcache.DflCache$Storage java.nio.file.Path sun.security.krb5.internal.rcache.AuthTimeWithHash sun.security.krb5.internal.KerberosTime int
      StackMap stack: java.lang.UnsupportedOperationException
            pop
        16: .line 295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* p */
            iconst_2
            anewarray java.nio.file.OpenOption
            dup
            iconst_0
            getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
            aastore
            dup
            iconst_1
        17: .line 296
            getstatic java.nio.file.StandardOpenOption.READ:Ljava/nio/file/StandardOpenOption;
            aastore
        18: .line 295
            invokestatic java.nio.file.Files.newByteChannel:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/SeekableByteChannel;
            putfield sun.security.krb5.internal.rcache.DflCache$Storage.chan:Ljava/nio/channels/SeekableByteChannel;
        19: .line 298
            aload 3 /* currTime */
            invokevirtual sun.security.krb5.internal.KerberosTime.getSeconds:()I
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.DflCache$Storage.chan:Ljava/nio/channels/SeekableByteChannel;
            invokestatic sun.security.krb5.internal.rcache.DflCache$Storage.readHeader:(Ljava/nio/channels/SeekableByteChannel;)I
            isub
            i2l
            lstore 5 /* timeLimit */
        start local 5 // long timeLimit
        20: .line 300
            lconst_0
            lstore 7 /* pos */
        start local 7 // long pos
        21: .line 301
            iconst_0
            istore 9 /* seeNewButNotSame */
        start local 9 // boolean seeNewButNotSame
        22: .line 304
      StackMap locals: long long int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.DflCache$Storage.chan:Ljava/nio/channels/SeekableByteChannel;
            invokeinterface java.nio.channels.SeekableByteChannel.position:()J
            lstore 7 /* pos */
        23: .line 305
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.DflCache$Storage.chan:Ljava/nio/channels/SeekableByteChannel;
            invokestatic sun.security.krb5.internal.rcache.AuthTime.readFrom:(Ljava/nio/channels/SeekableByteChannel;)Lsun/security/krb5/internal/rcache/AuthTime;
            astore 10 /* a */
        start local 10 // sun.security.krb5.internal.rcache.AuthTime a
        24: .line 306
            aload 10 /* a */
            instanceof sun.security.krb5.internal.rcache.AuthTimeWithHash
            ifeq 30
        25: .line 307
            aload 2 /* time */
            aload 10 /* a */
            invokevirtual sun.security.krb5.internal.rcache.AuthTimeWithHash.equals:(Ljava/lang/Object;)Z
            ifeq 27
        26: .line 309
            new sun.security.krb5.internal.KrbApErrException
            dup
            bipush 34
            invokespecial sun.security.krb5.internal.KrbApErrException.<init>:(I)V
            athrow
        27: .line 310
      StackMap locals: sun.security.krb5.internal.rcache.AuthTime
      StackMap stack:
            aload 2 /* time */
            aload 10 /* a */
            invokevirtual sun.security.krb5.internal.rcache.AuthTimeWithHash.isSameIgnoresHash:(Lsun/security/krb5/internal/rcache/AuthTime;)Z
            ifeq 33
        28: .line 313
            iconst_1
            istore 9 /* seeNewButNotSame */
        29: .line 315
            goto 33
        30: .line 316
      StackMap locals:
      StackMap stack:
            aload 2 /* time */
            aload 10 /* a */
            invokevirtual sun.security.krb5.internal.rcache.AuthTimeWithHash.isSameIgnoresHash:(Lsun/security/krb5/internal/rcache/AuthTime;)Z
            ifeq 33
        31: .line 319
            iload 9 /* seeNewButNotSame */
            ifne 33
        32: .line 320
            new sun.security.krb5.internal.KrbApErrException
            dup
            bipush 34
            invokespecial sun.security.krb5.internal.KrbApErrException.<init>:(I)V
            athrow
        33: .line 324
      StackMap locals:
      StackMap stack:
            aload 10 /* a */
            getfield sun.security.krb5.internal.rcache.AuthTime.ctime:I
            i2l
            lload 5 /* timeLimit */
            lcmp
            ifge 36
        34: .line 325
            iinc 4 /* missed */ 1
        35: .line 326
            goto 22
        36: .line 327
      StackMap locals:
      StackMap stack:
            iinc 4 /* missed */ -1
        end local 10 // sun.security.krb5.internal.rcache.AuthTime a
        37: .line 329
            goto 22
      StackMap locals: sun.security.krb5.internal.rcache.DflCache$Storage java.nio.file.Path sun.security.krb5.internal.rcache.AuthTimeWithHash sun.security.krb5.internal.KerberosTime int long long int
      StackMap stack: java.nio.BufferUnderflowException
        38: pop
        39: .line 331
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.DflCache$Storage.chan:Ljava/nio/channels/SeekableByteChannel;
            lload 7 /* pos */
            invokeinterface java.nio.channels.SeekableByteChannel.position:(J)Ljava/nio/channels/SeekableByteChannel;
            pop
        40: .line 335
            iload 4 /* missed */
            ireturn
        end local 9 // boolean seeNewButNotSame
        end local 7 // long pos
        end local 5 // long timeLimit
        end local 4 // int missed
        end local 3 // sun.security.krb5.internal.KerberosTime currTime
        end local 2 // sun.security.krb5.internal.rcache.AuthTimeWithHash time
        end local 1 // java.nio.file.Path p
        end local 0 // sun.security.krb5.internal.rcache.DflCache$Storage this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   41     0              this  Lsun/security/krb5/internal/rcache/DflCache$Storage;
            0   41     1                 p  Ljava/nio/file/Path;
            0   41     2              time  Lsun/security/krb5/internal/rcache/AuthTimeWithHash;
            0   41     3          currTime  Lsun/security/krb5/internal/KerberosTime;
            1   41     4            missed  I
            5   15     5             perms  Ljava/util/Set<Ljava/nio/file/attribute/PosixFilePermission;>;
           20   41     5         timeLimit  J
           21   41     7               pos  J
           22   41     9  seeNewButNotSame  Z
           24   37    10                 a  Lsun/security/krb5/internal/rcache/AuthTime;
      Exception table:
        from    to  target  type
           3    15      15  Class java.lang.UnsupportedOperationException
          22    37      38  Class java.nio.BufferUnderflowException
    Exceptions:
      throws java.io.IOException, sun.security.krb5.internal.KrbApErrException
    MethodParameters:
          Name  Flags
      p         
      time      
      currTime  

  private static int readHeader(java.nio.channels.SeekableByteChannel);
    descriptor: (Ljava/nio/channels/SeekableByteChannel;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.nio.channels.SeekableByteChannel chan
         0: .line 340
            bipush 6
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 1 /* bb */
        start local 1 // java.nio.ByteBuffer bb
         1: .line 341
            aload 0 /* chan */
            aload 1 /* bb */
            invokeinterface java.nio.channels.SeekableByteChannel.read:(Ljava/nio/ByteBuffer;)I
            pop
         2: .line 342
            aload 1 /* bb */
            iconst_0
            invokevirtual java.nio.ByteBuffer.getShort:(I)S
            sipush 1281
            if_icmpeq 4
         3: .line 343
            new java.io.IOException
            dup
            ldc "Not correct rcache version"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 345
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 1 /* bb */
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         5: .line 346
            aload 1 /* bb */
            iconst_2
            invokevirtual java.nio.ByteBuffer.getInt:(I)I
            ireturn
        end local 1 // java.nio.ByteBuffer bb
        end local 0 // java.nio.channels.SeekableByteChannel chan
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  chan  Ljava/nio/channels/SeekableByteChannel;
            1    6     1    bb  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      chan  

  private void append(sun.security.krb5.internal.rcache.AuthTimeWithHash);
    descriptor: (Lsun/security/krb5/internal/rcache/AuthTimeWithHash;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.krb5.internal.rcache.DflCache$Storage this
        start local 1 // sun.security.krb5.internal.rcache.AuthTimeWithHash at
         0: .line 353
            aload 1 /* at */
            iconst_1
            invokevirtual sun.security.krb5.internal.rcache.AuthTimeWithHash.encode:(Z)[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 2 /* bb */
        start local 2 // java.nio.ByteBuffer bb
         1: .line 354
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.DflCache$Storage.chan:Ljava/nio/channels/SeekableByteChannel;
            aload 2 /* bb */
            invokeinterface java.nio.channels.SeekableByteChannel.write:(Ljava/nio/ByteBuffer;)I
            pop
         2: .line 355
            aload 1 /* at */
            iconst_0
            invokevirtual sun.security.krb5.internal.rcache.AuthTimeWithHash.encode:(Z)[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 2 /* bb */
         3: .line 356
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.DflCache$Storage.chan:Ljava/nio/channels/SeekableByteChannel;
            aload 2 /* bb */
            invokeinterface java.nio.channels.SeekableByteChannel.write:(Ljava/nio/ByteBuffer;)I
            pop
         4: .line 357
            return
        end local 2 // java.nio.ByteBuffer bb
        end local 1 // sun.security.krb5.internal.rcache.AuthTimeWithHash at
        end local 0 // sun.security.krb5.internal.rcache.DflCache$Storage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/krb5/internal/rcache/DflCache$Storage;
            0    5     1    at  Lsun/security/krb5/internal/rcache/AuthTimeWithHash;
            1    5     2    bb  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      at    

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.krb5.internal.rcache.DflCache$Storage this
         0: .line 361
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.DflCache$Storage.chan:Ljava/nio/channels/SeekableByteChannel;
            ifnull 1
            aload 0 /* this */
            getfield sun.security.krb5.internal.rcache.DflCache$Storage.chan:Ljava/nio/channels/SeekableByteChannel;
            invokeinterface java.nio.channels.SeekableByteChannel.close:()V
         1: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.security.krb5.internal.rcache.DflCache$Storage.chan:Ljava/nio/channels/SeekableByteChannel;
         2: .line 363
            return
        end local 0 // sun.security.krb5.internal.rcache.DflCache$Storage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/krb5/internal/rcache/DflCache$Storage;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "DflCache.java"
NestHost: sun.security.krb5.internal.rcache.DflCache
InnerClasses:
  private Storage = sun.security.krb5.internal.rcache.DflCache$Storage of sun.security.krb5.internal.rcache.DflCache