public class java.io.ObjectInputStream extends java.io.InputStream implements java.io.ObjectInput, java.io.ObjectStreamConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.io.ObjectInputStream
  super_class: java.io.InputStream
{
  private static final int NULL_HANDLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final java.lang.Object unsharedMarker;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Map<java.lang.String, java.lang.Class<?>> primClasses;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;

  private final java.io.ObjectInputStream$BlockDataInputStream bin;
    descriptor: Ljava/io/ObjectInputStream$BlockDataInputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.ObjectInputStream$ValidationList vlist;
    descriptor: Ljava/io/ObjectInputStream$ValidationList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long depth;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long totalObjectRefs;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private boolean closed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final java.io.ObjectInputStream$HandleTable handles;
    descriptor: Ljava/io/ObjectInputStream$HandleTable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int passHandle;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean defaultDataEnd;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final boolean enableOverride;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean enableResolve;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.io.SerialCallbackContext curContext;
    descriptor: Ljava/io/SerialCallbackContext;
    flags: (0x0002) ACC_PRIVATE

  private java.io.ObjectInputFilter serialFilter;
    descriptor: Ljava/io/ObjectInputFilter;
    flags: (0x0002) ACC_PRIVATE

  private static final jdk.internal.misc.Unsafe UNSAFE;
    descriptor: Ljdk/internal/misc/Unsafe;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=18, locals=0, args_size=0
         0: .line 238
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
         1: .line 245
            ldc "boolean"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
         2: .line 246
            ldc "byte"
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
         3: .line 247
            ldc "char"
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
         4: .line 248
            ldc "short"
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
         5: .line 249
            ldc "int"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
         6: .line 250
            ldc "long"
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
         7: .line 251
            ldc "float"
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
         8: .line 252
            ldc "double"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
         9: .line 253
            ldc "void"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
        10: .line 245
            invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
        11: .line 244
            putstatic java.io.ObjectInputStream.primClasses:Ljava/util/Map;
        12: .line 2876
            invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
            putstatic java.io.ObjectInputStream.UNSAFE:Ljdk/internal/misc/Unsafe;
        13: .line 4097
            invokedynamic checkArray()Ljdk/internal/misc/JavaObjectInputStreamAccess;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/io/ObjectInputStream;Ljava/lang/Class;I)V
                  java/io/ObjectInputStream.checkArray(Ljava/lang/Class;I)V (7)
                  (Ljava/io/ObjectInputStream;Ljava/lang/Class;I)V
            invokestatic jdk.internal.misc.SharedSecrets.setJavaObjectInputStreamAccess:(Ljdk/internal/misc/JavaObjectInputStreamAccess;)V
        14: .line 4098
            invokedynamic readString()Ljdk/internal/misc/JavaObjectInputStreamReadString;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/io/ObjectInputStream;)Ljava/lang/String;
                  java/io/ObjectInputStream.readString()Ljava/lang/String; (7)
                  (Ljava/io/ObjectInputStream;)Ljava/lang/String;
            invokestatic jdk.internal.misc.SharedSecrets.setJavaObjectInputStreamReadString:(Ljdk/internal/misc/JavaObjectInputStreamReadString;)V
        15: .line 4099
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.InputStream in
         0: .line 361
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 314
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         2: .line 316
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
         3: .line 362
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.verifySubclass:()V
         4: .line 363
            aload 0 /* this */
            new java.io.ObjectInputStream$BlockDataInputStream
            dup
            aload 0 /* this */
            aload 1 /* in */
            invokespecial java.io.ObjectInputStream$BlockDataInputStream.<init>:(Ljava/io/ObjectInputStream;Ljava/io/InputStream;)V
            putfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
         5: .line 364
            aload 0 /* this */
            new java.io.ObjectInputStream$HandleTable
            dup
            bipush 10
            invokespecial java.io.ObjectInputStream$HandleTable.<init>:(I)V
            putfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
         6: .line 365
            aload 0 /* this */
            new java.io.ObjectInputStream$ValidationList
            dup
            invokespecial java.io.ObjectInputStream$ValidationList.<init>:()V
            putfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
         7: .line 366
            aload 0 /* this */
            invokestatic java.io.ObjectInputFilter$Config.getSerialFilter:()Ljava/io/ObjectInputFilter;
            putfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
         8: .line 367
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.enableOverride:Z
         9: .line 368
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readStreamHeader:()V
        10: .line 369
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        11: .line 370
            return
        end local 1 // java.io.InputStream in
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/io/ObjectInputStream;
            0   12     1    in  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 392
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 314
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         2: .line 316
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
         3: .line 393
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         4: .line 394
            aload 1 /* sm */
            ifnull 6
         5: .line 395
            aload 1 /* sm */
            getstatic java.io.ObjectInputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         6: .line 397
      StackMap locals: java.io.ObjectInputStream java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
         7: .line 398
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
         8: .line 399
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
         9: .line 400
            aload 0 /* this */
            invokestatic java.io.ObjectInputFilter$Config.getSerialFilter:()Ljava/io/ObjectInputFilter;
            putfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
        10: .line 401
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.enableOverride:Z
        11: .line 402
            return
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/io/ObjectInputStream;
            4   12     1    sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.io.IOException, java.lang.SecurityException

  public final java.lang.Object readObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 440
            aload 0 /* this */
            ldc Ljava/lang/Object;
            invokevirtual java.io.ObjectInputStream.readObject:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  private java.lang.String readString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 452
            aload 0 /* this */
            ldc Ljava/lang/String;
            invokevirtual java.io.ObjectInputStream.readObject:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast java.lang.String
         1: areturn
         2: .line 453
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 1 /* cnf */
        start local 1 // java.lang.ClassNotFoundException cnf
         3: .line 454
            new java.lang.IllegalStateException
            dup
            aload 1 /* cnf */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ClassNotFoundException cnf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
            3    4     1   cnf  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.io.IOException

  private final  readObject(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class type
         0: .line 472
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableOverride:Z
            ifeq 2
         1: .line 473
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readObjectOverride:()Ljava/lang/Object;
            areturn
         2: .line 476
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/Object;
            if_acmpeq 4
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpeq 4
         3: .line 477
            new java.lang.AssertionError
            dup
            ldc "internal error"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 480
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 2 /* outerHandle */
        start local 2 // int outerHandle
         5: .line 482
            aload 0 /* this */
            aload 1 /* type */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         6: .line 483
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 2 /* outerHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
         7: .line 484
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 4 /* ex */
        start local 4 // java.lang.ClassNotFoundException ex
         8: .line 485
            aload 4 /* ex */
            ifnull 10
         9: .line 486
            aload 4 /* ex */
            athrow
        10: .line 488
      StackMap locals: int java.lang.Object java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 13
        11: .line 489
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.doCallbacks:()V
        12: .line 490
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.freeze:()V
        13: .line 492
      StackMap locals:
      StackMap stack:
            aload 3 /* obj */
            astore 6
        14: .line 494
            aload 0 /* this */
            iload 2 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        15: .line 495
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 17
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 17
        16: .line 496
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        17: .line 492
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.Object java.lang.ClassNotFoundException top java.lang.Object
      StackMap stack:
            aload 6
            areturn
        end local 4 // java.lang.ClassNotFoundException ex
        end local 3 // java.lang.Object obj
        18: .line 493
      StackMap locals: java.io.ObjectInputStream java.lang.Class int
      StackMap stack: java.lang.Throwable
            astore 5
        19: .line 494
            aload 0 /* this */
            iload 2 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        20: .line 495
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 22
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 22
        21: .line 496
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        22: .line 498
      StackMap locals: java.io.ObjectInputStream java.lang.Class int top top java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        end local 2 // int outerHandle
        end local 1 // java.lang.Class type
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Ljava/io/ObjectInputStream;
            0   23     1         type  Ljava/lang/Class<*>;
            5   23     2  outerHandle  I
            6   18     3          obj  Ljava/lang/Object;
            8   18     4           ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           5    14      18  any
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      type  

  protected java.lang.Object readObjectOverride();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 521
            aconst_null
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public java.lang.Object readUnshared();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 575
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* outerHandle */
        start local 1 // int outerHandle
         1: .line 577
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_1
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         2: .line 578
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* outerHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
         3: .line 579
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 3 /* ex */
        start local 3 // java.lang.ClassNotFoundException ex
         4: .line 580
            aload 3 /* ex */
            ifnull 6
         5: .line 581
            aload 3 /* ex */
            athrow
         6: .line 583
      StackMap locals: int java.lang.Object java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 9
         7: .line 584
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.doCallbacks:()V
         8: .line 585
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.freeze:()V
         9: .line 587
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            astore 5
        10: .line 589
            aload 0 /* this */
            iload 1 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        11: .line 590
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 13
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 13
        12: .line 591
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        13: .line 587
      StackMap locals: java.io.ObjectInputStream int java.lang.Object java.lang.ClassNotFoundException top java.lang.Object
      StackMap stack:
            aload 5
            areturn
        end local 3 // java.lang.ClassNotFoundException ex
        end local 2 // java.lang.Object obj
        14: .line 588
      StackMap locals: java.io.ObjectInputStream int
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 589
            aload 0 /* this */
            iload 1 /* outerHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        16: .line 590
            aload 0 /* this */
            getfield java.io.ObjectInputStream.closed:Z
            ifeq 18
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 18
        17: .line 591
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
        18: .line 593
      StackMap locals: java.io.ObjectInputStream int top top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        end local 1 // int outerHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Ljava/io/ObjectInputStream;
            1   19     1  outerHandle  I
            2   14     2          obj  Ljava/lang/Object;
            4   14     3           ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           1    10      14  any
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public void defaultReadObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 611
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 1 /* ctx */
        start local 1 // java.io.SerialCallbackContext ctx
         1: .line 612
            aload 1 /* ctx */
            ifnonnull 3
         2: .line 613
            new java.io.NotActiveException
            dup
            ldc "not in call to readObject"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 615
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getObj:()Ljava/lang/Object;
            astore 2 /* curObj */
        start local 2 // java.lang.Object curObj
         4: .line 616
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getDesc:()Ljava/io/ObjectStreamClass;
            astore 3 /* curDesc */
        start local 3 // java.io.ObjectStreamClass curDesc
         5: .line 617
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 618
            aload 0 /* this */
            aload 2 /* curObj */
            aload 3 /* curDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
            astore 4 /* vals */
        start local 4 // java.io.ObjectInputStream$FieldValues vals
         7: .line 619
            aload 2 /* curObj */
            ifnull 10
         8: .line 620
            aload 0 /* this */
            aload 2 /* curObj */
            aload 3 /* curDesc */
            aload 4 /* vals */
            invokevirtual java.io.ObjectInputStream.defaultCheckFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
         9: .line 621
            aload 0 /* this */
            aload 2 /* curObj */
            aload 3 /* curDesc */
            aload 4 /* vals */
            invokevirtual java.io.ObjectInputStream.defaultSetFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        10: .line 623
      StackMap locals: java.lang.Object java.io.ObjectStreamClass java.io.ObjectInputStream$FieldValues
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        11: .line 624
            aload 3 /* curDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifne 13
        12: .line 630
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        13: .line 632
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            astore 5 /* ex */
        start local 5 // java.lang.ClassNotFoundException ex
        14: .line 633
            aload 5 /* ex */
            ifnull 16
        15: .line 634
            aload 5 /* ex */
            athrow
        16: .line 636
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            return
        end local 5 // java.lang.ClassNotFoundException ex
        end local 4 // java.io.ObjectInputStream$FieldValues vals
        end local 3 // java.io.ObjectStreamClass curDesc
        end local 2 // java.lang.Object curObj
        end local 1 // java.io.SerialCallbackContext ctx
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Ljava/io/ObjectInputStream;
            1   17     1      ctx  Ljava/io/SerialCallbackContext;
            4   17     2   curObj  Ljava/lang/Object;
            5   17     3  curDesc  Ljava/io/ObjectStreamClass;
            7   17     4     vals  Ljava/io/ObjectInputStream$FieldValues;
           14   17     5       ex  Ljava/lang/ClassNotFoundException;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public java.io.ObjectInputStream$GetField readFields();
    descriptor: ()Ljava/io/ObjectInputStream$GetField;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 654
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 1 /* ctx */
        start local 1 // java.io.SerialCallbackContext ctx
         1: .line 655
            aload 1 /* ctx */
            ifnonnull 3
         2: .line 656
            new java.io.NotActiveException
            dup
            ldc "not in call to readObject"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 658
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.checkAndSetUsed:()V
         4: .line 659
            aload 1 /* ctx */
            invokevirtual java.io.SerialCallbackContext.getDesc:()Ljava/io/ObjectStreamClass;
            astore 2 /* curDesc */
        start local 2 // java.io.ObjectStreamClass curDesc
         5: .line 660
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 661
            new java.io.ObjectInputStream$GetFieldImpl
            dup
            aload 0 /* this */
            aload 2 /* curDesc */
            invokespecial java.io.ObjectInputStream$GetFieldImpl.<init>:(Ljava/io/ObjectInputStream;Ljava/io/ObjectStreamClass;)V
            astore 3 /* getField */
        start local 3 // java.io.ObjectInputStream$GetFieldImpl getField
         7: .line 662
            aload 3 /* getField */
            invokevirtual java.io.ObjectInputStream$GetFieldImpl.readFields:()V
         8: .line 663
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         9: .line 664
            aload 2 /* curDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifne 11
        10: .line 670
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        11: .line 673
      StackMap locals: java.io.ObjectStreamClass java.io.ObjectInputStream$GetFieldImpl
      StackMap stack:
            aload 3 /* getField */
            areturn
        end local 3 // java.io.ObjectInputStream$GetFieldImpl getField
        end local 2 // java.io.ObjectStreamClass curDesc
        end local 1 // java.io.SerialCallbackContext ctx
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Ljava/io/ObjectInputStream;
            1   12     1       ctx  Ljava/io/SerialCallbackContext;
            5   12     2   curDesc  Ljava/io/ObjectStreamClass;
            7   12     3  getField  Ljava/io/ObjectInputStream$GetFieldImpl;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public void registerValidation(java.io.ObjectInputValidation, int);
    descriptor: (Ljava/io/ObjectInputValidation;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectInputValidation obj
        start local 2 // int prio
         0: .line 695
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 2
         1: .line 696
            new java.io.NotActiveException
            dup
            ldc "stream inactive"
            invokespecial java.io.NotActiveException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 698
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            aload 1 /* obj */
            iload 2 /* prio */
            invokevirtual java.io.ObjectInputStream$ValidationList.register:(Ljava/io/ObjectInputValidation;I)V
         3: .line 699
            return
        end local 2 // int prio
        end local 1 // java.io.ObjectInputValidation obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
            0    4     1   obj  Ljava/io/ObjectInputValidation;
            0    4     2  prio  I
    Exceptions:
      throws java.io.NotActiveException, java.io.InvalidObjectException
    MethodParameters:
      Name  Flags
      obj   
      prio  

  protected java.lang.Class<?> resolveClass(java.io.ObjectStreamClass);
    descriptor: (Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectStreamClass desc
         0: .line 743
            aload 1 /* desc */
            invokevirtual java.io.ObjectStreamClass.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 745
            aload 2 /* name */
            iconst_0
            invokestatic java.io.ObjectInputStream.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
         2: areturn
         3: .line 746
      StackMap locals: java.io.ObjectInputStream java.io.ObjectStreamClass java.lang.String
      StackMap stack: java.lang.ClassNotFoundException
            astore 3 /* ex */
        start local 3 // java.lang.ClassNotFoundException ex
         4: .line 747
            getstatic java.io.ObjectInputStream.primClasses:Ljava/util/Map;
            aload 2 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 4 /* cl */
        start local 4 // java.lang.Class cl
         5: .line 748
            aload 4 /* cl */
            ifnull 7
         6: .line 749
            aload 4 /* cl */
            areturn
         7: .line 751
      StackMap locals: java.lang.ClassNotFoundException java.lang.Class
      StackMap stack:
            aload 3 /* ex */
            athrow
        end local 4 // java.lang.Class cl
        end local 3 // java.lang.ClassNotFoundException ex
        end local 2 // java.lang.String name
        end local 1 // java.io.ObjectStreamClass desc
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/io/ObjectInputStream;
            0    8     1  desc  Ljava/io/ObjectStreamClass;
            1    8     2  name  Ljava/lang/String;
            4    8     3    ex  Ljava/lang/ClassNotFoundException;
            5    8     4    cl  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: (Ljava/io/ObjectStreamClass;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      desc  

  protected java.lang.Class<?> resolveProxyClass(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.String[] interfaces
         0: .line 811
            invokestatic java.io.ObjectInputStream.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            astore 2 /* latestLoader */
        start local 2 // java.lang.ClassLoader latestLoader
         1: .line 812
            aconst_null
            astore 3 /* nonPublicLoader */
        start local 3 // java.lang.ClassLoader nonPublicLoader
         2: .line 813
            iconst_0
            istore 4 /* hasNonPublicInterface */
        start local 4 // boolean hasNonPublicInterface
         3: .line 816
            aload 1 /* interfaces */
            arraylength
            anewarray java.lang.Class
            astore 5 /* classObjs */
        start local 5 // java.lang.Class[] classObjs
         4: .line 817
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 17
         6: .line 818
      StackMap locals: java.io.ObjectInputStream java.lang.String[] java.lang.ClassLoader java.lang.ClassLoader int java.lang.Class[] int
      StackMap stack:
            aload 1 /* interfaces */
            iload 6 /* i */
            aaload
            iconst_0
            aload 2 /* latestLoader */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 7 /* cl */
        start local 7 // java.lang.Class cl
         7: .line 819
            aload 7 /* cl */
            invokevirtual java.lang.Class.getModifiers:()I
            iconst_1
            iand
            ifne 15
         8: .line 820
            iload 4 /* hasNonPublicInterface */
            ifeq 13
         9: .line 821
            aload 3 /* nonPublicLoader */
            aload 7 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            if_acmpeq 15
        10: .line 822
            new java.lang.IllegalAccessError
            dup
        11: .line 823
            ldc "conflicting non-public interface class loaders"
        12: .line 822
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 826
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 7 /* cl */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* nonPublicLoader */
        14: .line 827
            iconst_1
            istore 4 /* hasNonPublicInterface */
        15: .line 830
      StackMap locals:
      StackMap stack:
            aload 5 /* classObjs */
            iload 6 /* i */
            aload 7 /* cl */
            aastore
        end local 7 // java.lang.Class cl
        16: .line 817
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            aload 1 /* interfaces */
            arraylength
            if_icmplt 6
        end local 6 // int i
        18: .line 835
            iload 4 /* hasNonPublicInterface */
            ifeq 19
            aload 3 /* nonPublicLoader */
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 2 /* latestLoader */
        20: .line 836
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
            aload 5 /* classObjs */
        21: .line 834
            invokestatic java.lang.reflect.Proxy.getProxyClass:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;
            astore 6 /* proxyClass */
        start local 6 // java.lang.Class proxyClass
        22: .line 837
            aload 6 /* proxyClass */
        23: areturn
        end local 6 // java.lang.Class proxyClass
        24: .line 838
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 6 /* e */
        start local 6 // java.lang.IllegalArgumentException e
        25: .line 839
            new java.lang.ClassNotFoundException
            dup
            aconst_null
            aload 6 /* e */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.IllegalArgumentException e
        end local 5 // java.lang.Class[] classObjs
        end local 4 // boolean hasNonPublicInterface
        end local 3 // java.lang.ClassLoader nonPublicLoader
        end local 2 // java.lang.ClassLoader latestLoader
        end local 1 // java.lang.String[] interfaces
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   26     0                   this  Ljava/io/ObjectInputStream;
            0   26     1             interfaces  [Ljava/lang/String;
            1   26     2           latestLoader  Ljava/lang/ClassLoader;
            2   26     3        nonPublicLoader  Ljava/lang/ClassLoader;
            3   26     4  hasNonPublicInterface  Z
            4   26     5              classObjs  [Ljava/lang/Class;
            5   18     6                      i  I
            7   16     7                     cl  Ljava/lang/Class<*>;
           22   24     6             proxyClass  Ljava/lang/Class<*>;
           25   26     6                      e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          18    23      24  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    Signature: ([Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
            Name  Flags
      interfaces  

  protected java.lang.Object resolveObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
         0: .line 871
            aload 1 /* obj */
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
            0    1     1   obj  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  protected boolean enableResolveObject(boolean);
    descriptor: (Z)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean enable
         0: .line 899
            iload 1 /* enable */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            if_icmpne 2
         1: .line 900
            iload 1 /* enable */
            ireturn
         2: .line 902
      StackMap locals:
      StackMap stack:
            iload 1 /* enable */
            ifeq 6
         3: .line 903
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         4: .line 904
            aload 2 /* sm */
            ifnull 6
         5: .line 905
            aload 2 /* sm */
            getstatic java.io.ObjectInputStream.SUBSTITUTION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 2 // java.lang.SecurityManager sm
         6: .line 908
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* enable */
            putfield java.io.ObjectInputStream.enableResolve:Z
         7: .line 909
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            ifeq 8
            iconst_0
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: ireturn
        end local 1 // boolean enable
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljava/io/ObjectInputStream;
            0   10     1  enable  Z
            4    6     2      sm  Ljava/lang/SecurityManager;
    Exceptions:
      throws java.lang.SecurityException
    MethodParameters:
        Name  Flags
      enable  

  protected void readStreamHeader();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 925
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            istore 1 /* s0 */
        start local 1 // short s0
         1: .line 926
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            istore 2 /* s1 */
        start local 2 // short s1
         2: .line 927
            iload 1 /* s0 */
            sipush -21267
            if_icmpne 3
            iload 2 /* s1 */
            iconst_5
            if_icmpeq 6
         3: .line 928
      StackMap locals: int int
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         4: .line 929
            ldc "invalid stream header: %04X%04X"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* s0 */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            dup
            iconst_1
            iload 2 /* s1 */
            invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: .line 928
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 931
      StackMap locals:
      StackMap stack:
            return
        end local 2 // short s1
        end local 1 // short s0
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/io/ObjectInputStream;
            1    7     1    s0  S
            2    7     2    s1  S
    Exceptions:
      throws java.io.IOException, java.io.StreamCorruptedException

  protected java.io.ObjectStreamClass readClassDescriptor();
    descriptor: ()Ljava/io/ObjectStreamClass;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 953
            new java.io.ObjectStreamClass
            dup
            invokespecial java.io.ObjectStreamClass.<init>:()V
            astore 1 /* desc */
        start local 1 // java.io.ObjectStreamClass desc
         1: .line 954
            aload 1 /* desc */
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.readNonProxy:(Ljava/io/ObjectInputStream;)V
         2: .line 955
            aload 1 /* desc */
            areturn
        end local 1 // java.io.ObjectStreamClass desc
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectInputStream;
            1    3     1  desc  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 965
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.read:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int read(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
        start local 2 // int off
        start local 3 // int len
         0: .line 986
            aload 1 /* buf */
            ifnonnull 2
         1: .line 987
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 989
      StackMap locals:
      StackMap stack:
            iload 2 /* off */
            iload 3 /* len */
            iadd
            istore 4 /* endoff */
        start local 4 // int endoff
         3: .line 990
            iload 2 /* off */
            iflt 4
            iload 3 /* len */
            iflt 4
            iload 4 /* endoff */
            aload 1 /* buf */
            arraylength
            if_icmpgt 4
            iload 4 /* endoff */
            ifge 5
         4: .line 991
      StackMap locals: int
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         5: .line 993
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iload 2 /* off */
            iload 3 /* len */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.read:([BIIZ)I
            ireturn
        end local 4 // int endoff
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljava/io/ObjectInputStream;
            0    6     1     buf  [B
            0    6     2     off  I
            0    6     3     len  I
            3    6     4  endoff  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   
      off   
      len   

  public int available();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1004
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.available:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1018
            aload 0 /* this */
            iconst_1
            putfield java.io.ObjectInputStream.closed:Z
         1: .line 1019
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifne 3
         2: .line 1020
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         3: .line 1022
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.close:()V
         4: .line 1023
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public boolean readBoolean();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1033
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readBoolean:()Z
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public byte readByte();
    descriptor: ()B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1044
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readUnsignedByte();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1055
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUnsignedByte:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public char readChar();
    descriptor: ()C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1066
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readChar:()C
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public short readShort();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1077
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShort:()S
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readUnsignedShort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1088
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUnsignedShort:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public int readInt();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1099
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public long readLong();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1110
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLong:()J
            lreturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public float readFloat();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1121
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFloat:()F
            freturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public double readDouble();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1132
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readDouble:()D
            dreturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public void readFully(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
         0: .line 1144
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iconst_0
            aload 1 /* buf */
            arraylength
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         1: .line 1145
            return
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectInputStream;
            0    2     1   buf  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   

  public void readFully(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // byte[] buf
        start local 2 // int off
        start local 3 // int len
         0: .line 1161
            iload 2 /* off */
            iload 3 /* len */
            iadd
            istore 4 /* endoff */
        start local 4 // int endoff
         1: .line 1162
            iload 2 /* off */
            iflt 2
            iload 3 /* len */
            iflt 2
            iload 4 /* endoff */
            aload 1 /* buf */
            arraylength
            if_icmpgt 2
            iload 4 /* endoff */
            ifge 3
         2: .line 1163
      StackMap locals: int
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         3: .line 1165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 1 /* buf */
            iload 2 /* off */
            iload 3 /* len */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         4: .line 1166
            return
        end local 4 // int endoff
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buf
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljava/io/ObjectInputStream;
            0    5     1     buf  [B
            0    5     2     off  I
            0    5     3     len  I
            1    5     4  endoff  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   
      off   
      len   

  public int skipBytes(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // int len
         0: .line 1176
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 1 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.skipBytes:(I)I
            ireturn
        end local 1 // int len
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
            0    1     1   len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      len   

  public java.lang.String readLine();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1190
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLine:()Ljava/lang/String;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.lang.String readUTF();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1205
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  public final java.io.ObjectInputFilter getObjectInputFilter();
    descriptor: ()Ljava/io/ObjectInputFilter;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1219
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/io/ObjectInputStream;

  public final void setObjectInputFilter(java.io.ObjectInputFilter);
    descriptor: (Ljava/io/ObjectInputFilter;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.ObjectInputFilter filter
         0: .line 1292
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 1293
            aload 2 /* sm */
            ifnull 3
         2: .line 1294
            aload 2 /* sm */
            getstatic java.io.ObjectStreamConstants.SERIAL_FILTER_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 1297
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            ifnull 6
         4: .line 1298
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            invokestatic java.io.ObjectInputFilter$Config.getSerialFilter:()Ljava/io/ObjectInputFilter;
            if_acmpeq 6
         5: .line 1299
            new java.lang.IllegalStateException
            dup
            ldc "filter can not be set more than once"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_0
            lcmp
            ifle 10
            getstatic java.io.ObjectInputStream$Caches.SET_FILTER_AFTER_READ:Z
            ifne 10
         7: .line 1302
            new java.lang.IllegalStateException
            dup
         8: .line 1303
            ldc "filter can not be set after an object has been read"
         9: .line 1302
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 1305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* filter */
            putfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
        11: .line 1306
            return
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.io.ObjectInputFilter filter
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljava/io/ObjectInputStream;
            0   12     1  filter  Ljava/io/ObjectInputFilter;
            1   12     2      sm  Ljava/lang/SecurityManager;
    MethodParameters:
        Name  Flags
      filter  

  private void filterCheck(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=8, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class clazz
        start local 2 // int arrayLength
         0: .line 1319
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            ifnull 25
         1: .line 1320
            aconst_null
            astore 3 /* ex */
        start local 3 // java.lang.RuntimeException ex
         2: .line 1323
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            ifnonnull 3
            lconst_0
            goto 4
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
         3: aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBytesRead:()J
      StackMap locals:
      StackMap stack: long
         4: lstore 5 /* bytesRead */
        start local 5 // long bytesRead
         5: .line 1325
            aload 0 /* this */
            getfield java.io.ObjectInputStream.serialFilter:Ljava/io/ObjectInputFilter;
            new java.io.ObjectInputStream$FilterValues
            dup
            aload 1 /* clazz */
            iload 2 /* arrayLength */
            i2l
         6: .line 1326
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lload 5 /* bytesRead */
            invokespecial java.io.ObjectInputStream$FilterValues.<init>:(Ljava/lang/Class;JJJJ)V
         7: .line 1325
            invokeinterface java.io.ObjectInputFilter.checkInput:(Ljava/io/ObjectInputFilter$FilterInfo;)Ljava/io/ObjectInputFilter$Status;
            astore 4 /* status */
        start local 4 // java.io.ObjectInputFilter$Status status
         8: .line 1327
            goto 12
        end local 4 // java.io.ObjectInputFilter$Status status
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException top long
      StackMap stack: java.lang.RuntimeException
         9: astore 7 /* e */
        start local 7 // java.lang.RuntimeException e
        10: .line 1329
            getstatic java.io.ObjectInputFilter$Status.REJECTED:Ljava/io/ObjectInputFilter$Status;
            astore 4 /* status */
        start local 4 // java.io.ObjectInputFilter$Status status
        11: .line 1330
            aload 7 /* e */
            astore 3 /* ex */
        end local 7 // java.lang.RuntimeException e
        12: .line 1332
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException java.io.ObjectInputFilter$Status long
      StackMap stack:
            getstatic java.io.ObjectInputStream$Logging.filterLogger:Ljava/lang/System$Logger;
            ifnull 20
        13: .line 1334
            getstatic java.io.ObjectInputStream$Logging.filterLogger:Ljava/lang/System$Logger;
            aload 4 /* status */
            ifnull 14
            aload 4 /* status */
            getstatic java.io.ObjectInputFilter$Status.REJECTED:Ljava/io/ObjectInputFilter$Status;
            if_acmpne 15
        14: .line 1335
      StackMap locals:
      StackMap stack: java.lang.System$Logger
            getstatic java.lang.System$Logger$Level.DEBUG:Ljava/lang/System$Logger$Level;
            goto 16
        15: .line 1336
      StackMap locals:
      StackMap stack: java.lang.System$Logger
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
        16: .line 1337
      StackMap locals: java.io.ObjectInputStream java.lang.Class int java.lang.RuntimeException java.io.ObjectInputFilter$Status long
      StackMap stack: java.lang.System$Logger java.lang.System$Logger$Level
            ldc "ObjectInputFilter {0}: {1}, array length: {2}, nRefs: {3}, depth: {4}, bytes: {5}, ex: {6}"
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 1338
            aload 4 /* status */
            aastore
            dup
            iconst_1
            aload 1 /* clazz */
            aastore
            dup
            iconst_2
            iload 2 /* arrayLength */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_5
            lload 5 /* bytesRead */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 6
        18: .line 1339
            aload 3 /* ex */
            ldc "n/a"
            invokestatic java.util.Objects.toString:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            aastore
        19: .line 1334
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
        20: .line 1341
      StackMap locals:
      StackMap stack:
            aload 4 /* status */
            ifnull 22
        21: .line 1342
            aload 4 /* status */
            getstatic java.io.ObjectInputFilter$Status.REJECTED:Ljava/io/ObjectInputFilter$Status;
            if_acmpne 25
        22: .line 1343
      StackMap locals:
      StackMap stack:
            new java.io.InvalidClassException
            dup
            new java.lang.StringBuilder
            dup
            ldc "filter status: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* status */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            astore 7 /* ice */
        start local 7 // java.io.InvalidClassException ice
        23: .line 1344
            aload 7 /* ice */
            aload 3 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        24: .line 1345
            aload 7 /* ice */
            athrow
        end local 7 // java.io.InvalidClassException ice
        end local 5 // long bytesRead
        end local 4 // java.io.ObjectInputFilter$Status status
        end local 3 // java.lang.RuntimeException ex
        25: .line 1348
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int arrayLength
        end local 1 // java.lang.Class clazz
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0         this  Ljava/io/ObjectInputStream;
            0   26     1        clazz  Ljava/lang/Class<*>;
            0   26     2  arrayLength  I
            2   25     3           ex  Ljava/lang/RuntimeException;
            8    9     4       status  Ljava/io/ObjectInputFilter$Status;
           11   25     4       status  Ljava/io/ObjectInputFilter$Status;
            5   25     5    bytesRead  J
           10   12     7            e  Ljava/lang/RuntimeException;
           23   25     7          ice  Ljava/io/InvalidClassException;
      Exception table:
        from    to  target  type
           5     8       9  Class java.lang.RuntimeException
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;I)V
    MethodParameters:
             Name  Flags
      clazz        
      arrayLength  

  private void checkArray(java.lang.Class<?>, );
    descriptor: (Ljava/lang/Class;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class arrayType
        start local 2 // int arrayLength
         0: .line 1365
            aload 1 /* arrayType */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 2
         1: .line 1366
            new java.lang.IllegalArgumentException
            dup
            ldc "not an array type"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1369
      StackMap locals:
      StackMap stack:
            iload 2 /* arrayLength */
            ifge 4
         3: .line 1370
            new java.lang.NegativeArraySizeException
            dup
            invokespecial java.lang.NegativeArraySizeException.<init>:()V
            athrow
         4: .line 1373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* arrayType */
            iload 2 /* arrayLength */
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         5: .line 1374
            return
        end local 2 // int arrayLength
        end local 1 // java.lang.Class arrayType
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Ljava/io/ObjectInputStream;
            0    6     1    arrayType  Ljava/lang/Class<*>;
            0    6     2  arrayLength  I
    Exceptions:
      throws java.io.InvalidClassException
    Signature: (Ljava/lang/Class<*>;I)V
    MethodParameters:
             Name  Flags
      arrayType    
      arrayLength  

  private void verifySubclass();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1536
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 1 /* cl */
        start local 1 // java.lang.Class cl
         1: .line 1537
            aload 1 /* cl */
            ldc Ljava/io/ObjectInputStream;
            if_acmpne 3
         2: .line 1538
            return
         3: .line 1540
      StackMap locals: java.lang.Class
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         4: .line 1541
            aload 2 /* sm */
            ifnonnull 6
         5: .line 1542
            return
         6: .line 1544
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            getstatic java.io.ObjectInputStream$Caches.subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            invokestatic java.io.ObjectStreamClass.processQueue:(Ljava/lang/ref/ReferenceQueue;Ljava/util/concurrent/ConcurrentMap;)V
         7: .line 1545
            new java.io.ObjectStreamClass$WeakClassKey
            dup
            aload 1 /* cl */
            getstatic java.io.ObjectInputStream$Caches.subclassAuditsQueue:Ljava/lang/ref/ReferenceQueue;
            invokespecial java.io.ObjectStreamClass$WeakClassKey.<init>:(Ljava/lang/Class;Ljava/lang/ref/ReferenceQueue;)V
            astore 3 /* key */
        start local 3 // java.io.ObjectStreamClass$WeakClassKey key
         8: .line 1546
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 4 /* result */
        start local 4 // java.lang.Boolean result
         9: .line 1547
            aload 4 /* result */
            ifnonnull 12
        10: .line 1548
            aload 1 /* cl */
            invokestatic java.io.ObjectInputStream.auditSubclass:(Ljava/lang/Class;)Ljava/lang/Boolean;
            astore 4 /* result */
        11: .line 1549
            getstatic java.io.ObjectInputStream$Caches.subclassAudits:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* key */
            aload 4 /* result */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 1551
      StackMap locals: java.io.ObjectStreamClass$WeakClassKey java.lang.Boolean
      StackMap stack:
            aload 4 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 14
        13: .line 1552
            aload 2 /* sm */
            getstatic java.io.ObjectInputStream.SUBCLASS_IMPLEMENTATION_PERMISSION:Ljava/io/SerializablePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        14: .line 1554
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Boolean result
        end local 3 // java.io.ObjectStreamClass$WeakClassKey key
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.Class cl
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Ljava/io/ObjectInputStream;
            1   15     1      cl  Ljava/lang/Class<*>;
            4   15     2      sm  Ljava/lang/SecurityManager;
            8   15     3     key  Ljava/io/ObjectStreamClass$WeakClassKey;
            9   15     4  result  Ljava/lang/Boolean;

  private static java.lang.Boolean auditSubclass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Boolean;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class subcl
         0: .line 1563
            new java.io.ObjectInputStream$1
            dup
            aload 0 /* subcl */
            invokespecial java.io.ObjectInputStream$1.<init>:(Ljava/lang/Class;)V
         1: .line 1562
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            areturn
        end local 0 // java.lang.Class subcl
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  subcl  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Boolean;
    MethodParameters:
       Name  Flags
      subcl  

  private void clear();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1591
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            invokevirtual java.io.ObjectInputStream$HandleTable.clear:()V
         1: .line 1592
            aload 0 /* this */
            getfield java.io.ObjectInputStream.vlist:Ljava/io/ObjectInputStream$ValidationList;
            invokevirtual java.io.ObjectInputStream$ValidationList.clear:()V
         2: .line 1593
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/io/ObjectInputStream;

  private  readObject0(java.lang.Class<?>, boolean);
    descriptor: (Ljava/lang/Class;Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Class type
        start local 2 // boolean unshared
         0: .line 1601
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBlockDataMode:()Z
            istore 3 /* oldMode */
        start local 3 // boolean oldMode
         1: .line 1602
            iload 3 /* oldMode */
            ifeq 11
         2: .line 1603
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.currentBlockRemaining:()I
            istore 4 /* remain */
        start local 4 // int remain
         3: .line 1604
            iload 4 /* remain */
            ifle 5
         4: .line 1605
            new java.io.OptionalDataException
            dup
            iload 4 /* remain */
            invokespecial java.io.OptionalDataException.<init>:(I)V
            athrow
         5: .line 1606
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.defaultDataEnd:Z
            ifeq 7
         6: .line 1613
            new java.io.OptionalDataException
            dup
            iconst_1
            invokespecial java.io.OptionalDataException.<init>:(Z)V
            athrow
         7: .line 1615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        end local 4 // int remain
         8: .line 1619
            goto 11
        start local 4 // byte tc
         9: .line 1620
      StackMap locals: java.io.ObjectInputStream java.lang.Class int int int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            pop
        10: .line 1621
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.handleReset:()V
        end local 4 // byte tc
        11: .line 1619
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            dup
            istore 4 /* tc */
        start local 4 // byte tc
        12: bipush 121
            if_icmpeq 9
        13: .line 1624
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        14: .line 1625
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        15: .line 1627
            iload 4 /* tc */
            tableswitch { // 112 - 126
                  112: 16
                  113: 20
                  114: 30
                  115: 52
                  116: 36
                  117: 40
                  118: 24
                  119: 62
                  120: 71
                  121: 76
                  122: 62
                  123: 58
                  124: 36
                  125: 30
                  126: 46
              default: 76
          }
        16: .line 1629
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            astore 7
        17: .line 1702
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        18: .line 1703
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        19: .line 1629
            aload 7
            areturn
        20: .line 1633
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        21: .line 1702
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        22: .line 1703
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        23: .line 1633
            aload 7
            areturn
        24: .line 1636
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 26
        25: .line 1637
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast a class to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 1639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readClass:(Z)Ljava/lang/Class;
            astore 7
        27: .line 1702
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        28: .line 1703
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        29: .line 1639
            aload 7
            areturn
        30: .line 1643
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 32
        31: .line 1644
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast a class to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 1646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 7
        33: .line 1702
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        34: .line 1703
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        35: .line 1646
            aload 7
            areturn
        36: .line 1650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        37: .line 1702
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        38: .line 1703
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        39: .line 1650
            aload 7
            areturn
        40: .line 1653
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 42
        41: .line 1654
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an array to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 1656
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readArray:(Z)Ljava/lang/Object;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        43: .line 1702
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        44: .line 1703
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        45: .line 1656
            aload 7
            areturn
        46: .line 1659
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 48
        47: .line 1660
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an enum to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        48: .line 1662
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readEnum:(Z)Ljava/lang/Enum;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        49: .line 1702
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        50: .line 1703
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        51: .line 1662
            aload 7
            areturn
        52: .line 1665
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 54
        53: .line 1666
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an object to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        54: .line 1668
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* unshared */
            invokevirtual java.io.ObjectInputStream.readOrdinaryObject:(Z)Ljava/lang/Object;
            invokevirtual java.io.ObjectInputStream.checkResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
        55: .line 1702
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        56: .line 1703
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        57: .line 1668
            aload 7
            areturn
        58: .line 1671
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpne 60
        59: .line 1672
            new java.lang.ClassCastException
            dup
            ldc "Cannot cast an exception to java.lang.String"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 1674
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readFatalException:()Ljava/io/IOException;
            astore 5 /* ex */
        start local 5 // java.io.IOException ex
        61: .line 1675
            new java.io.WriteAbortedException
            dup
            ldc "writing aborted"
            aload 5 /* ex */
            invokespecial java.io.WriteAbortedException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 5 // java.io.IOException ex
        62: .line 1679
      StackMap locals:
      StackMap stack:
            iload 3 /* oldMode */
            ifeq 68
        63: .line 1680
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        64: .line 1681
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peek:()I
            pop
        65: .line 1682
            new java.io.OptionalDataException
            dup
        66: .line 1683
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.currentBlockRemaining:()I
        67: .line 1682
            invokespecial java.io.OptionalDataException.<init>:(I)V
            athrow
        68: .line 1685
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        69: .line 1686
            ldc "unexpected block data"
        70: .line 1685
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        71: .line 1690
      StackMap locals:
      StackMap stack:
            iload 3 /* oldMode */
            ifeq 73
        72: .line 1691
            new java.io.OptionalDataException
            dup
            iconst_1
            invokespecial java.io.OptionalDataException.<init>:(Z)V
            athrow
        73: .line 1693
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        74: .line 1694
            ldc "unexpected end of block data"
        75: .line 1693
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        76: .line 1698
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        77: .line 1699
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        78: .line 1698
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        79: .line 1701
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        80: .line 1702
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        81: .line 1703
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iload 3 /* oldMode */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        82: .line 1704
            aload 6
            athrow
        end local 4 // byte tc
        end local 3 // boolean oldMode
        end local 2 // boolean unshared
        end local 1 // java.lang.Class type
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   83     0      this  Ljava/io/ObjectInputStream;
            0   83     1      type  Ljava/lang/Class<*>;
            0   83     2  unshared  Z
            1   83     3   oldMode  Z
            3    8     4    remain  I
            9   11     4        tc  B
           12   83     4        tc  B
           61   62     5        ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          15    17      79  any
          20    21      79  any
          24    27      79  any
          30    33      79  any
          36    37      79  any
          40    43      79  any
          46    49      79  any
          52    55      79  any
          58    79      79  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Class<*>;Z)Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      type      
      unshared  

  private java.lang.Object checkResolve(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
         0: .line 1716
            aload 0 /* this */
            getfield java.io.ObjectInputStream.enableResolve:Z
            ifeq 1
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnull 2
         1: .line 1717
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            areturn
         2: .line 1719
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual java.io.ObjectInputStream.resolveObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* rep */
        start local 2 // java.lang.Object rep
         3: .line 1720
            aload 2 /* rep */
            aload 1 /* obj */
            if_acmpeq 10
         4: .line 1723
            aload 2 /* rep */
            ifnull 9
         5: .line 1724
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 8
         6: .line 1725
            aload 0 /* this */
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* rep */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         7: .line 1726
            goto 9
         8: .line 1727
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 2 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         9: .line 1730
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 2 /* rep */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        10: .line 1732
      StackMap locals:
      StackMap stack:
            aload 2 /* rep */
            areturn
        end local 2 // java.lang.Object rep
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/io/ObjectInputStream;
            0   11     1   obj  Ljava/lang/Object;
            3   11     2   rep  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  java.lang.String readTypeString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1740
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* oldHandle */
        start local 1 // int oldHandle
         1: .line 1742
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            istore 2 /* tc */
        start local 2 // byte tc
         2: .line 1743
            iload 2 /* tc */
            lookupswitch { // 4
                  112: 3
                  113: 6
                  116: 9
                  124: 9
              default: 12
          }
         3: .line 1745
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4
         4: .line 1759
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         5: .line 1745
            aload 4
            areturn
         6: .line 1748
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4
         7: .line 1759
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         8: .line 1748
            aload 4
            areturn
         9: .line 1752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            astore 4
        10: .line 1759
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        11: .line 1752
            aload 4
            areturn
        12: .line 1755
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        13: .line 1756
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        14: .line 1755
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // byte tc
        15: .line 1758
      StackMap locals: java.io.ObjectInputStream int
      StackMap stack: java.lang.Throwable
            astore 3
        16: .line 1759
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        17: .line 1760
            aload 3
            athrow
        end local 1 // int oldHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Ljava/io/ObjectInputStream;
            1   18     1  oldHandle  I
            2   15     2         tc  B
      Exception table:
        from    to  target  type
           1     4      15  any
           6     7      15  any
           9    10      15  any
          12    15      15  any
    Exceptions:
      throws java.io.IOException

  private java.lang.Object readNull();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1767
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 112
            if_icmpeq 2
         1: .line 1768
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         3: .line 1771
            aconst_null
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  private java.lang.Object readHandle(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1779
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 113
            if_icmpeq 2
         1: .line 1780
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1782
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            ldc 8257536
            isub
            putfield java.io.ObjectInputStream.passHandle:I
         3: .line 1783
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            iflt 4
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            invokevirtual java.io.ObjectInputStream$HandleTable.size:()I
            if_icmplt 9
         4: .line 1784
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         5: .line 1785
            ldc "invalid handle value: %08X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
         6: .line 1786
            ldc 8257536
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         7: .line 1785
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 1784
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1788
      StackMap locals:
      StackMap stack:
            iload 1 /* unshared */
            ifeq 13
        10: .line 1790
            new java.io.InvalidObjectException
            dup
        11: .line 1791
            ldc "cannot read back reference as unshared"
        12: .line 1790
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1794
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupObject:(I)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
        14: .line 1795
            aload 2 /* obj */
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            if_acmpne 18
        15: .line 1797
            new java.io.InvalidObjectException
            dup
        16: .line 1798
            ldc "cannot read back reference to unshared object"
        17: .line 1797
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 1800
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aconst_null
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        19: .line 1801
            aload 2 /* obj */
            areturn
        end local 2 // java.lang.Object obj
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Ljava/io/ObjectInputStream;
            0   20     1  unshared  Z
           14   20     2       obj  Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Class<?> readClass(boolean);
    descriptor: (Z)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1811
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 118
            if_icmpeq 2
         1: .line 1812
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1814
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1815
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         4: .line 1816
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 5
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 6
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
         5: aload 3 /* cl */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
         6: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1818
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 4 /* resolveEx */
        start local 4 // java.lang.ClassNotFoundException resolveEx
         8: .line 1819
            aload 4 /* resolveEx */
            ifnull 10
         9: .line 1820
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 4 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        10: .line 1823
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        11: .line 1824
            aload 3 /* cl */
            areturn
        end local 4 // java.lang.ClassNotFoundException resolveEx
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljava/io/ObjectInputStream;
            0   12     1   unshared  Z
            3   12     2       desc  Ljava/io/ObjectStreamClass;
            4   12     3         cl  Ljava/lang/Class<*>;
            8   12     4  resolveEx  Ljava/lang/ClassNotFoundException;
    Exceptions:
      throws java.io.IOException
    Signature: (Z)Ljava/lang/Class<*>;
    MethodParameters:
          Name  Flags
      unshared  

  private java.io.ObjectStreamClass readClassDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1836
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            istore 2 /* tc */
        start local 2 // byte tc
         1: .line 1838
            iload 2 /* tc */
            lookupswitch { // 4
                  112: 2
                  113: 4
                  114: 9
                  125: 7
              default: 11
          }
         2: .line 1840
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readNull:()Ljava/lang/Object;
            checkcast java.io.ObjectStreamClass
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         3: .line 1841
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
         4: .line 1843
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readHandle:(Z)Ljava/lang/Object;
            checkcast java.io.ObjectStreamClass
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         5: .line 1845
            aload 3 /* descriptor */
            invokevirtual java.io.ObjectStreamClass.checkInitialized:()V
         6: .line 1846
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
         7: .line 1848
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readProxyDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
         8: .line 1849
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
         9: .line 1851
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unshared */
            invokevirtual java.io.ObjectInputStream.readNonProxyDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 3 /* descriptor */
        start local 3 // java.io.ObjectStreamClass descriptor
        10: .line 1852
            goto 14
        end local 3 // java.io.ObjectStreamClass descriptor
        11: .line 1854
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
        12: .line 1855
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        13: .line 1854
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // java.io.ObjectStreamClass descriptor
        14: .line 1857
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 3 /* descriptor */
            areturn
        end local 3 // java.io.ObjectStreamClass descriptor
        end local 2 // byte tc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Ljava/io/ObjectInputStream;
            0   15     1    unshared  Z
            1   15     2          tc  B
            3    4     3  descriptor  Ljava/io/ObjectStreamClass;
            5    7     3  descriptor  Ljava/io/ObjectStreamClass;
            8    9     3  descriptor  Ljava/io/ObjectStreamClass;
           10   11     3  descriptor  Ljava/io/ObjectStreamClass;
           14   15     3  descriptor  Ljava/io/ObjectStreamClass;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private boolean isCustomSubclass();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 1862
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         1: .line 1863
            ldc Ljava/io/ObjectInputStream;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         2: .line 1862
            if_acmpeq 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;

  private java.io.ObjectStreamClass readProxyDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1875
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 125
            if_icmpeq 2
         1: .line 1876
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1879
      StackMap locals:
      StackMap stack:
            new java.io.ObjectStreamClass
            dup
            invokespecial java.io.ObjectStreamClass.<init>:()V
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1880
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 4
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 5
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable
         4: aload 2 /* desc */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         5: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* descHandle */
        start local 3 // int descHandle
         6: .line 1881
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1883
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            istore 4 /* numIfaces */
        start local 4 // int numIfaces
         8: .line 1884
            iload 4 /* numIfaces */
            ldc 65535
            if_icmple 12
         9: .line 1885
            new java.io.InvalidObjectException
            dup
            new java.lang.StringBuilder
            dup
            ldc "interface limit exceeded: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 1886
            iload 4 /* numIfaces */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1885
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 1888
      StackMap locals: int int
      StackMap stack:
            iload 4 /* numIfaces */
            anewarray java.lang.String
            astore 5 /* ifaces */
        start local 5 // java.lang.String[] ifaces
        13: .line 1889
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: goto 17
        15: .line 1890
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 5 /* ifaces */
            iload 6 /* i */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            aastore
        16: .line 1889
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            iload 4 /* numIfaces */
            if_icmplt 15
        end local 6 // int i
        18: .line 1893
            aconst_null
            astore 6 /* cl */
        start local 6 // java.lang.Class cl
        19: .line 1894
            aconst_null
            astore 7 /* resolveEx */
        start local 7 // java.lang.ClassNotFoundException resolveEx
        20: .line 1895
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        21: .line 1897
            aload 0 /* this */
            aload 5 /* ifaces */
            invokevirtual java.io.ObjectInputStream.resolveProxyClass:([Ljava/lang/String;)Ljava/lang/Class;
            dup
            astore 6 /* cl */
            ifnonnull 24
        22: .line 1898
            new java.lang.ClassNotFoundException
            dup
            ldc "null class"
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            astore 7 /* resolveEx */
        23: .line 1899
            goto 37
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException
      StackMap stack:
        24: aload 6 /* cl */
            invokestatic java.lang.reflect.Proxy.isProxyClass:(Ljava/lang/Class;)Z
            ifne 26
        25: .line 1900
            new java.io.InvalidClassException
            dup
            ldc "Not a proxy"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 1906
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
        27: .line 1907
            aload 6 /* cl */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
        28: .line 1905
            invokestatic sun.reflect.misc.ReflectUtil.checkProxyPackageAccess:(Ljava/lang/ClassLoader;[Ljava/lang/Class;)V
        29: .line 1909
            aload 6 /* cl */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 33
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException top int int java.lang.Class[]
      StackMap stack:
        30: aload 11
            iload 9
            aaload
            astore 8 /* clazz */
        start local 8 // java.lang.Class clazz
        31: .line 1910
            aload 0 /* this */
            aload 8 /* clazz */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        end local 8 // java.lang.Class clazz
        32: .line 1909
            iinc 9 1
      StackMap locals:
      StackMap stack:
        33: iload 9
            iload 10
            if_icmplt 30
        34: .line 1913
            goto 37
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int int java.lang.String[] java.lang.Class java.lang.ClassNotFoundException
      StackMap stack: java.lang.ClassNotFoundException
        35: astore 8 /* ex */
        start local 8 // java.lang.ClassNotFoundException ex
        36: .line 1914
            aload 8 /* ex */
            astore 7 /* resolveEx */
        end local 8 // java.lang.ClassNotFoundException ex
        37: .line 1918
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* cl */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        38: .line 1920
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        39: .line 1923
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        40: .line 1924
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        41: .line 1925
            aload 2 /* desc */
            aload 6 /* cl */
            aload 7 /* resolveEx */
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            invokevirtual java.io.ObjectStreamClass.initProxy:(Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
        42: .line 1926
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        43: astore 8
        44: .line 1927
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        45: .line 1928
            aload 8
            athrow
        46: .line 1927
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        47: .line 1930
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* descHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        48: .line 1931
            aload 0 /* this */
            iload 3 /* descHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        49: .line 1932
            aload 2 /* desc */
            areturn
        end local 7 // java.lang.ClassNotFoundException resolveEx
        end local 6 // java.lang.Class cl
        end local 5 // java.lang.String[] ifaces
        end local 4 // int numIfaces
        end local 3 // int descHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   50     0        this  Ljava/io/ObjectInputStream;
            0   50     1    unshared  Z
            3   50     2        desc  Ljava/io/ObjectStreamClass;
            6   50     3  descHandle  I
            8   50     4   numIfaces  I
           13   50     5      ifaces  [Ljava/lang/String;
           14   18     6           i  I
           19   50     6          cl  Ljava/lang/Class<*>;
           20   50     7   resolveEx  Ljava/lang/ClassNotFoundException;
           31   32     8       clazz  Ljava/lang/Class<*>;
           36   37     8          ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
          21    34      35  Class java.lang.ClassNotFoundException
          39    43      43  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.io.ObjectStreamClass readNonProxyDesc(boolean);
    descriptor: (Z)Ljava/io/ObjectStreamClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1944
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 114
            if_icmpeq 2
         1: .line 1945
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 1948
      StackMap locals:
      StackMap stack:
            new java.io.ObjectStreamClass
            dup
            invokespecial java.io.ObjectStreamClass.<init>:()V
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 1949
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 4
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 5
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable
         4: aload 2 /* desc */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         5: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* descHandle */
        start local 3 // int descHandle
         6: .line 1950
            aload 0 /* this */
            iconst_m1
            putfield java.io.ObjectInputStream.passHandle:I
         7: .line 1954
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.readClassDescriptor:()Ljava/io/ObjectStreamClass;
            astore 4 /* readDesc */
        start local 4 // java.io.ObjectStreamClass readDesc
         8: .line 1955
            goto 15
        end local 4 // java.io.ObjectStreamClass readDesc
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int
      StackMap stack: java.lang.ClassNotFoundException
         9: astore 5 /* ex */
        start local 5 // java.lang.ClassNotFoundException ex
        10: .line 1956
            new java.io.InvalidClassException
            dup
        11: .line 1957
            ldc "failed to read class descriptor"
        12: .line 1956
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
        13: .line 1957
            aload 5 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        14: .line 1956
            checkcast java.io.IOException
            athrow
        end local 5 // java.lang.ClassNotFoundException ex
        start local 4 // java.io.ObjectStreamClass readDesc
        15: .line 1960
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aconst_null
            astore 5 /* cl */
        start local 5 // java.lang.Class cl
        16: .line 1961
            aconst_null
            astore 6 /* resolveEx */
        start local 6 // java.lang.ClassNotFoundException resolveEx
        17: .line 1962
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        18: .line 1963
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.isCustomSubclass:()Z
            istore 7 /* checksRequired */
        start local 7 // boolean checksRequired
        19: .line 1965
            aload 0 /* this */
            aload 4 /* readDesc */
            invokevirtual java.io.ObjectInputStream.resolveClass:(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;
            dup
            astore 5 /* cl */
            ifnonnull 22
        20: .line 1966
            new java.lang.ClassNotFoundException
            dup
            ldc "null class"
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            astore 6 /* resolveEx */
        21: .line 1967
            goto 27
      StackMap locals: java.lang.Class java.lang.ClassNotFoundException int
      StackMap stack:
        22: iload 7 /* checksRequired */
            ifeq 27
        23: .line 1968
            aload 5 /* cl */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
        24: .line 1970
            goto 27
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        25: astore 8 /* ex */
        start local 8 // java.lang.ClassNotFoundException ex
        26: .line 1971
            aload 8 /* ex */
            astore 6 /* resolveEx */
        end local 8 // java.lang.ClassNotFoundException ex
        27: .line 1975
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* cl */
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        28: .line 1977
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        29: .line 1980
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.totalObjectRefs:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.totalObjectRefs:J
        30: .line 1981
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            ladd
            putfield java.io.ObjectInputStream.depth:J
        31: .line 1982
            aload 2 /* desc */
            aload 4 /* readDesc */
            aload 5 /* cl */
            aload 6 /* resolveEx */
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            invokevirtual java.io.ObjectStreamClass.initNonProxy:(Ljava/io/ObjectStreamClass;Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
        32: .line 1983
            goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        33: astore 8
        34: .line 1984
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        35: .line 1985
            aload 8
            athrow
        36: .line 1984
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.io.ObjectInputStream.depth:J
            lconst_1
            lsub
            putfield java.io.ObjectInputStream.depth:J
        37: .line 1987
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* descHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        38: .line 1988
            aload 0 /* this */
            iload 3 /* descHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        39: .line 1990
            aload 2 /* desc */
            areturn
        end local 7 // boolean checksRequired
        end local 6 // java.lang.ClassNotFoundException resolveEx
        end local 5 // java.lang.Class cl
        end local 4 // java.io.ObjectStreamClass readDesc
        end local 3 // int descHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   40     0            this  Ljava/io/ObjectInputStream;
            0   40     1        unshared  Z
            3   40     2            desc  Ljava/io/ObjectStreamClass;
            6   40     3      descHandle  I
            8    9     4        readDesc  Ljava/io/ObjectStreamClass;
           15   40     4        readDesc  Ljava/io/ObjectStreamClass;
           10   15     5              ex  Ljava/lang/ClassNotFoundException;
           16   40     5              cl  Ljava/lang/Class<*>;
           17   40     6       resolveEx  Ljava/lang/ClassNotFoundException;
           19   40     7  checksRequired  Z
           26   27     8              ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.ClassNotFoundException
          19    24      25  Class java.lang.ClassNotFoundException
          29    33      33  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.String readString(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 1999
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            istore 3 /* tc */
        start local 3 // byte tc
         1: .line 2000
            iload 3 /* tc */
            lookupswitch { // 2
                  116: 2
                  124: 4
              default: 6
          }
         2: .line 2002
      StackMap locals: java.io.ObjectInputStream int top int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readUTF:()Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         3: .line 2003
            goto 9
        end local 2 // java.lang.String str
         4: .line 2006
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLongUTF:()Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         5: .line 2007
            goto 9
        end local 2 // java.lang.String str
         6: .line 2010
      StackMap locals:
      StackMap stack:
            new java.io.StreamCorruptedException
            dup
         7: .line 2011
            ldc "invalid type code: %02X"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* tc */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         8: .line 2010
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // java.lang.String str
         9: .line 2013
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 10
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 11
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
        10: aload 2 /* str */
      StackMap locals: java.io.ObjectInputStream int java.lang.String int
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
        11: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
        12: .line 2014
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        13: .line 2015
            aload 2 /* str */
            areturn
        end local 3 // byte tc
        end local 2 // java.lang.String str
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Ljava/io/ObjectInputStream;
            0   14     1  unshared  Z
            3    4     2       str  Ljava/lang/String;
            5    6     2       str  Ljava/lang/String;
            9   14     2       str  Ljava/lang/String;
            1   14     3        tc  B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Object readArray(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2023
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 117
            if_icmpeq 2
         1: .line 2024
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2027
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 2028
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInt:()I
            istore 3 /* len */
        start local 3 // int len
         4: .line 2030
            aload 0 /* this */
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
         5: .line 2032
            aconst_null
            astore 4 /* array */
        start local 4 // java.lang.Object array
         6: .line 2033
            aconst_null
            astore 6 /* ccl */
        start local 6 // java.lang.Class ccl
         7: .line 2034
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            dup
            astore 5 /* cl */
        start local 5 // java.lang.Class cl
         8: ifnull 11
         9: .line 2035
            aload 5 /* cl */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 6 /* ccl */
        10: .line 2036
            aload 6 /* ccl */
            iload 3 /* len */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 4 /* array */
        11: .line 2039
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.Object java.lang.Class java.lang.Class
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 12
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 13
      StackMap locals:
      StackMap stack: java.io.ObjectInputStream$HandleTable
        12: aload 4 /* array */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.Object java.lang.Class java.lang.Class
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
        13: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 7 /* arrayHandle */
        start local 7 // int arrayHandle
        14: .line 2040
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 8 /* resolveEx */
        start local 8 // java.lang.ClassNotFoundException resolveEx
        15: .line 2041
            aload 8 /* resolveEx */
            ifnull 17
        16: .line 2042
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            aload 8 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        17: .line 2045
      StackMap locals: int java.lang.ClassNotFoundException
      StackMap stack:
            aload 6 /* ccl */
            ifnonnull 24
        18: .line 2046
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        19: goto 22
        20: .line 2047
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            pop
        21: .line 2046
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 9 /* i */
            iload 3 /* len */
            if_icmplt 20
        end local 9 // int i
        23: .line 2049
            goto 57
      StackMap locals:
      StackMap stack:
        24: aload 6 /* ccl */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 50
        25: .line 2050
            aload 6 /* ccl */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 28
        26: .line 2051
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast int[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readInts:([III)V
        27: .line 2052
            goto 57
      StackMap locals:
      StackMap stack:
        28: aload 6 /* ccl */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 31
        29: .line 2053
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast byte[]
            iconst_0
            iload 3 /* len */
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
        30: .line 2054
            goto 57
      StackMap locals:
      StackMap stack:
        31: aload 6 /* ccl */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 34
        32: .line 2055
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast long[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readLongs:([JII)V
        33: .line 2056
            goto 57
      StackMap locals:
      StackMap stack:
        34: aload 6 /* ccl */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 37
        35: .line 2057
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast float[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFloats:([FII)V
        36: .line 2058
            goto 57
      StackMap locals:
      StackMap stack:
        37: aload 6 /* ccl */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 40
        38: .line 2059
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast double[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readDoubles:([DII)V
        39: .line 2060
            goto 57
      StackMap locals:
      StackMap stack:
        40: aload 6 /* ccl */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 43
        41: .line 2061
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast short[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readShorts:([SII)V
        42: .line 2062
            goto 57
      StackMap locals:
      StackMap stack:
        43: aload 6 /* ccl */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 46
        44: .line 2063
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast char[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readChars:([CII)V
        45: .line 2064
            goto 57
      StackMap locals:
      StackMap stack:
        46: aload 6 /* ccl */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 49
        47: .line 2065
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* array */
            checkcast boolean[]
            iconst_0
            iload 3 /* len */
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readBooleans:([ZII)V
        48: .line 2066
            goto 57
        49: .line 2067
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
        50: .line 2070
      StackMap locals:
      StackMap stack:
            aload 4 /* array */
            checkcast java.lang.Object[]
            astore 9 /* oa */
        start local 9 // java.lang.Object[] oa
        51: .line 2071
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        52: goto 56
        53: .line 2072
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 9 /* oa */
            iload 10 /* i */
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            aastore
        54: .line 2073
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
        55: .line 2071
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        56: iload 10 /* i */
            iload 3 /* len */
            if_icmplt 53
        end local 10 // int i
        end local 9 // java.lang.Object[] oa
        57: .line 2077
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 7 /* arrayHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        58: .line 2078
            aload 0 /* this */
            iload 7 /* arrayHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        59: .line 2079
            aload 4 /* array */
            areturn
        end local 8 // java.lang.ClassNotFoundException resolveEx
        end local 7 // int arrayHandle
        end local 6 // java.lang.Class ccl
        end local 5 // java.lang.Class cl
        end local 4 // java.lang.Object array
        end local 3 // int len
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   60     0         this  Ljava/io/ObjectInputStream;
            0   60     1     unshared  Z
            3   60     2         desc  Ljava/io/ObjectStreamClass;
            4   60     3          len  I
            6   60     4        array  Ljava/lang/Object;
            8   60     5           cl  Ljava/lang/Class<*>;
            7   60     6          ccl  Ljava/lang/Class<*>;
           14   60     7  arrayHandle  I
           15   60     8    resolveEx  Ljava/lang/ClassNotFoundException;
           19   23     9            i  I
           51   57     9           oa  [Ljava/lang/Object;
           52   57    10            i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Enum<?> readEnum(boolean);
    descriptor: (Z)Ljava/lang/Enum;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2087
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 126
            if_icmpeq 2
         1: .line 2088
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2091
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 2092
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isEnum:()Z
            ifne 5
         4: .line 2093
            new java.io.InvalidClassException
            dup
            new java.lang.StringBuilder
            dup
            ldc "non-enum class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* desc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 2096
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 6
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 7
      StackMap locals:
      StackMap stack: java.io.ObjectInputStream$HandleTable
         6: aconst_null
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass
      StackMap stack: java.io.ObjectInputStream$HandleTable java.lang.Object
         7: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            istore 3 /* enumHandle */
        start local 3 // int enumHandle
         8: .line 2097
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 4 /* resolveEx */
        start local 4 // java.lang.ClassNotFoundException resolveEx
         9: .line 2098
            aload 4 /* resolveEx */
            ifnull 11
        10: .line 2099
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            aload 4 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        11: .line 2102
      StackMap locals: int java.lang.ClassNotFoundException
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readString:(Z)Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
        12: .line 2103
            aconst_null
            astore 6 /* result */
        start local 6 // java.lang.Enum result
        13: .line 2104
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 7 /* cl */
        start local 7 // java.lang.Class cl
        14: .line 2105
            aload 7 /* cl */
            ifnull 28
        15: .line 2108
            aload 7 /* cl */
            aload 5 /* name */
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            astore 8 /* en */
        start local 8 // java.lang.Enum en
        16: .line 2109
            aload 8 /* en */
            astore 6 /* result */
        end local 8 // java.lang.Enum en
        17: .line 2110
            goto 26
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass int java.lang.ClassNotFoundException java.lang.String java.lang.Enum java.lang.Class
      StackMap stack: java.lang.IllegalArgumentException
        18: astore 8 /* ex */
        start local 8 // java.lang.IllegalArgumentException ex
        19: .line 2111
            new java.io.InvalidObjectException
            dup
        20: .line 2112
            new java.lang.StringBuilder
            dup
            ldc "enum constant "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not exist in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 2113
            aload 7 /* cl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        22: .line 2112
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 2111
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
        24: .line 2113
            aload 8 /* ex */
            invokevirtual java.io.InvalidObjectException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        25: .line 2111
            checkcast java.io.IOException
            athrow
        end local 8 // java.lang.IllegalArgumentException ex
        26: .line 2115
      StackMap locals:
      StackMap stack:
            iload 1 /* unshared */
            ifne 28
        27: .line 2116
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            aload 6 /* result */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        28: .line 2120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 3 /* enumHandle */
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        29: .line 2121
            aload 0 /* this */
            iload 3 /* enumHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        30: .line 2122
            aload 6 /* result */
            areturn
        end local 7 // java.lang.Class cl
        end local 6 // java.lang.Enum result
        end local 5 // java.lang.String name
        end local 4 // java.lang.ClassNotFoundException resolveEx
        end local 3 // int enumHandle
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0        this  Ljava/io/ObjectInputStream;
            0   31     1    unshared  Z
            3   31     2        desc  Ljava/io/ObjectStreamClass;
            8   31     3  enumHandle  I
            9   31     4   resolveEx  Ljava/lang/ClassNotFoundException;
           12   31     5        name  Ljava/lang/String;
           13   31     6      result  Ljava/lang/Enum<*>;
           14   31     7          cl  Ljava/lang/Class<*>;
           16   17     8          en  Ljava/lang/Enum<*>;
           19   26     8          ex  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          15    17      18  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException
    Signature: (Z)Ljava/lang/Enum<*>;
    MethodParameters:
          Name  Flags
      unshared  

  private java.lang.Object readOrdinaryObject(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.io.ObjectInputStream this
        start local 1 // boolean unshared
         0: .line 2135
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 115
            if_icmpeq 2
         1: .line 2136
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual java.io.ObjectInputStream.readClassDesc:(Z)Ljava/io/ObjectStreamClass;
            astore 2 /* desc */
        start local 2 // java.io.ObjectStreamClass desc
         3: .line 2140
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.checkDeserialize:()V
         4: .line 2142
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         5: .line 2143
            aload 3 /* cl */
            ldc Ljava/lang/String;
            if_acmpeq 7
            aload 3 /* cl */
            ldc Ljava/lang/Class;
            if_acmpeq 7
         6: .line 2144
            aload 3 /* cl */
            ldc Ljava/io/ObjectStreamClass;
            if_acmpne 8
         7: .line 2145
      StackMap locals: java.io.ObjectStreamClass java.lang.Class
      StackMap stack:
            new java.io.InvalidClassException
            dup
            ldc "invalid class descriptor"
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 2150
      StackMap locals:
      StackMap stack:
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isInstantiable:()Z
            ifeq 9
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.newInstance:()Ljava/lang/Object;
            goto 10
      StackMap locals:
      StackMap stack:
         9: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
        10: astore 4 /* obj */
        start local 4 // java.lang.Object obj
        11: .line 2151
            goto 19
        end local 4 // java.lang.Object obj
      StackMap locals:
      StackMap stack: java.lang.Exception
        12: astore 5 /* ex */
        start local 5 // java.lang.Exception ex
        13: .line 2152
            new java.io.InvalidClassException
            dup
        14: .line 2153
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        15: .line 2154
            ldc "unable to create instance"
        16: .line 2152
            invokespecial java.io.InvalidClassException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 2154
            aload 5 /* ex */
            invokevirtual java.io.InvalidClassException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        18: .line 2152
            checkcast java.io.IOException
            athrow
        end local 5 // java.lang.Exception ex
        start local 4 // java.lang.Object obj
        19: .line 2157
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 1 /* unshared */
            ifeq 20
            getstatic java.io.ObjectInputStream.unsharedMarker:Ljava/lang/Object;
            goto 21
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class java.lang.Object
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable
        20: aload 4 /* obj */
      StackMap locals: java.io.ObjectInputStream int java.io.ObjectStreamClass java.lang.Class java.lang.Object
      StackMap stack: java.io.ObjectInputStream java.io.ObjectInputStream$HandleTable java.lang.Object
        21: invokevirtual java.io.ObjectInputStream$HandleTable.assign:(Ljava/lang/Object;)I
            putfield java.io.ObjectInputStream.passHandle:I
        22: .line 2158
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getResolveException:()Ljava/lang/ClassNotFoundException;
            astore 5 /* resolveEx */
        start local 5 // java.lang.ClassNotFoundException resolveEx
        23: .line 2159
            aload 5 /* resolveEx */
            ifnull 25
        24: .line 2160
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 5 /* resolveEx */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        25: .line 2163
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.isExternalizable:()Z
            ifeq 28
        26: .line 2164
            aload 0 /* this */
            aload 4 /* obj */
            checkcast java.io.Externalizable
            aload 2 /* desc */
            invokevirtual java.io.ObjectInputStream.readExternalData:(Ljava/io/Externalizable;Ljava/io/ObjectStreamClass;)V
        27: .line 2165
            goto 29
        28: .line 2166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* obj */
            aload 2 /* desc */
            invokevirtual java.io.ObjectInputStream.readSerialData:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
        29: .line 2169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.finish:(I)V
        30: .line 2171
            aload 4 /* obj */
            ifnull 43
        31: .line 2172
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnonnull 43
        32: .line 2173
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.hasReadResolveMethod:()Z
            ifeq 43
        33: .line 2175
            aload 2 /* desc */
            aload 4 /* obj */
            invokevirtual java.io.ObjectStreamClass.invokeReadResolve:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* rep */
        start local 6 // java.lang.Object rep
        34: .line 2176
            iload 1 /* unshared */
            ifeq 36
            aload 6 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 36
        35: .line 2177
            aload 6 /* rep */
            invokestatic java.io.ObjectInputStream.cloneArray:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* rep */
        36: .line 2179
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 6 /* rep */
            aload 4 /* obj */
            if_acmpeq 43
        37: .line 2181
            aload 6 /* rep */
            ifnull 42
        38: .line 2182
            aload 6 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 41
        39: .line 2183
            aload 0 /* this */
            aload 6 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 6 /* rep */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        40: .line 2184
            goto 42
        41: .line 2185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* rep */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_m1
            invokevirtual java.io.ObjectInputStream.filterCheck:(Ljava/lang/Class;I)V
        42: .line 2188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 6 /* rep */
            dup
            astore 4 /* obj */
            invokevirtual java.io.ObjectInputStream$HandleTable.setObject:(ILjava/lang/Object;)V
        end local 6 // java.lang.Object rep
        43: .line 2192
      StackMap locals:
      StackMap stack:
            aload 4 /* obj */
            areturn
        end local 5 // java.lang.ClassNotFoundException resolveEx
        end local 4 // java.lang.Object obj
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // boolean unshared
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   44     0       this  Ljava/io/ObjectInputStream;
            0   44     1   unshared  Z
            3   44     2       desc  Ljava/io/ObjectStreamClass;
            5   44     3         cl  Ljava/lang/Class<*>;
           11   12     4        obj  Ljava/lang/Object;
           19   44     4        obj  Ljava/lang/Object;
           13   19     5         ex  Ljava/lang/Exception;
           23   44     5  resolveEx  Ljava/lang/ClassNotFoundException;
           34   43     6        rep  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           8    11      12  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      unshared  

  private void readExternalData(java.io.Externalizable, java.io.ObjectStreamClass);
    descriptor: (Ljava/io/Externalizable;Ljava/io/ObjectStreamClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.io.Externalizable obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2204
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 3 /* oldContext */
        start local 3 // java.io.SerialCallbackContext oldContext
         1: .line 2205
            aload 3 /* oldContext */
            ifnull 3
         2: .line 2206
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
         3: .line 2207
      StackMap locals: java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
         4: .line 2209
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.hasBlockExternalData:()Z
            istore 4 /* blocked */
        start local 4 // boolean blocked
         5: .line 2210
            iload 4 /* blocked */
            ifeq 7
         6: .line 2211
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         7: .line 2213
      StackMap locals: int
      StackMap stack:
            aload 1 /* obj */
            ifnull 12
         8: .line 2215
            aload 1 /* obj */
            aload 0 /* this */
            invokeinterface java.io.Externalizable.readExternal:(Ljava/io/ObjectInput;)V
         9: .line 2216
            goto 12
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        10: astore 5 /* ex */
        start local 5 // java.lang.ClassNotFoundException ex
        11: .line 2224
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 5 /* ex */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        end local 5 // java.lang.ClassNotFoundException ex
        12: .line 2227
      StackMap locals:
      StackMap stack:
            iload 4 /* blocked */
            ifeq 20
        13: .line 2228
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        end local 4 // boolean blocked
        14: .line 2230
            goto 20
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext
      StackMap stack: java.lang.Throwable
        15: astore 6
        16: .line 2231
            aload 3 /* oldContext */
            ifnull 18
        17: .line 2232
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        18: .line 2233
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext top top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 3 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        19: .line 2234
            aload 6
            athrow
        20: .line 2231
      StackMap locals: java.io.ObjectInputStream java.io.Externalizable java.io.ObjectStreamClass java.io.SerialCallbackContext
      StackMap stack:
            aload 3 /* oldContext */
            ifnull 22
        21: .line 2232
            aload 3 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        22: .line 2233
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        23: .line 2247
            return
        end local 3 // java.io.SerialCallbackContext oldContext
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.io.Externalizable obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Ljava/io/ObjectInputStream;
            0   24     1         obj  Ljava/io/Externalizable;
            0   24     2        desc  Ljava/io/ObjectStreamClass;
            1   24     3  oldContext  Ljava/io/SerialCallbackContext;
            5   14     4     blocked  Z
           11   12     5          ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.ClassNotFoundException
           4    15      15  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private void readSerialData(java.lang.Object, java.io.ObjectStreamClass);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2258
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getClassDataLayout:()[Ljava/io/ObjectStreamClass$ClassDataSlot;
            astore 3 /* slots */
        start local 3 // java.io.ObjectStreamClass$ClassDataSlot[] slots
         1: .line 2264
            aconst_null
            astore 4 /* slotValues */
        start local 4 // java.io.ObjectInputStream$FieldValues[] slotValues
         2: .line 2266
            iconst_0
            istore 5 /* hasSpecialReadMethod */
        start local 5 // boolean hasSpecialReadMethod
         3: .line 2267
            iconst_1
            istore 6 /* i */
        start local 6 // int i
         4: goto 11
         5: .line 2268
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues[] int int
      StackMap stack:
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            astore 7 /* slotDesc */
        start local 7 // java.io.ObjectStreamClass slotDesc
         6: .line 2269
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectMethod:()Z
            ifne 8
         7: .line 2270
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectNoDataMethod:()Z
            ifeq 10
         8: .line 2271
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            iconst_1
            istore 5 /* hasSpecialReadMethod */
         9: .line 2272
            goto 12
        end local 7 // java.io.ObjectStreamClass slotDesc
        10: .line 2267
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            aload 3 /* slots */
            arraylength
            if_icmplt 5
        end local 6 // int i
        12: .line 2276
      StackMap locals:
      StackMap stack:
            iload 5 /* hasSpecialReadMethod */
            ifne 14
        13: .line 2277
            aload 3 /* slots */
            arraylength
            anewarray java.io.ObjectInputStream$FieldValues
            astore 4 /* slotValues */
        14: .line 2279
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        15: goto 87
        16: .line 2280
      StackMap locals: int
      StackMap stack:
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            astore 7 /* slotDesc */
        start local 7 // java.io.ObjectStreamClass slotDesc
        17: .line 2282
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.hasData:Z
            ifeq 82
        18: .line 2283
            aload 1 /* obj */
            ifnull 19
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnull 21
        19: .line 2284
      StackMap locals: java.io.ObjectStreamClass
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
            pop
        20: .line 2285
            goto 77
      StackMap locals:
      StackMap stack:
        21: aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectMethod:()Z
            ifeq 70
        22: .line 2286
            aconst_null
            astore 8 /* t */
        start local 8 // java.lang.ThreadDeath t
        23: .line 2287
            iconst_0
            istore 9 /* reset */
        start local 9 // boolean reset
        24: .line 2288
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            astore 10 /* oldContext */
        start local 10 // java.io.SerialCallbackContext oldContext
        25: .line 2289
            aload 10 /* oldContext */
            ifnull 27
        26: .line 2290
            aload 10 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        27: .line 2292
      StackMap locals: java.lang.ThreadDeath int java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            new java.io.SerialCallbackContext
            dup
            aload 1 /* obj */
            aload 7 /* slotDesc */
            invokespecial java.io.SerialCallbackContext.<init>:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        28: .line 2294
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        29: .line 2295
            aload 7 /* slotDesc */
            aload 1 /* obj */
            aload 0 /* this */
            invokevirtual java.io.ObjectStreamClass.invokeReadObject:(Ljava/lang/Object;Ljava/io/ObjectInputStream;)V
        30: .line 2296
            goto 57
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        31: astore 11 /* ex */
        start local 11 // java.lang.ClassNotFoundException ex
        32: .line 2304
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            aload 11 /* ex */
            invokevirtual java.io.ObjectInputStream$HandleTable.markException:(ILjava/lang/ClassNotFoundException;)V
        end local 11 // java.lang.ClassNotFoundException ex
        33: .line 2308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        34: .line 2309
            aload 10 /* oldContext */
            ifnull 36
        35: .line 2310
            aload 10 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        36: .line 2311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        37: .line 2312
            iconst_1
            istore 9 /* reset */
        38: .line 2313
            goto 41
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        39: astore 13 /* x */
        start local 13 // java.lang.ThreadDeath x
        40: .line 2314
            aload 13 /* x */
            astore 8 /* t */
        end local 13 // java.lang.ThreadDeath x
        41: .line 2316
      StackMap locals:
      StackMap stack:
            iload 9 /* reset */
            ifeq 33
        42: .line 2317
            aload 8 /* t */
            ifnull 68
        43: .line 2318
            aload 8 /* t */
            athrow
        44: .line 2305
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        45: .line 2308
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues[] int int java.io.ObjectStreamClass java.lang.ThreadDeath int java.io.SerialCallbackContext top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        46: .line 2309
            aload 10 /* oldContext */
            ifnull 48
        47: .line 2310
            aload 10 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        48: .line 2311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        49: .line 2312
            iconst_1
            istore 9 /* reset */
        50: .line 2313
            goto 53
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        51: astore 13 /* x */
        start local 13 // java.lang.ThreadDeath x
        52: .line 2314
            aload 13 /* x */
            astore 8 /* t */
        end local 13 // java.lang.ThreadDeath x
        53: .line 2316
      StackMap locals:
      StackMap stack:
            iload 9 /* reset */
            ifeq 45
        54: .line 2317
            aload 8 /* t */
            ifnull 56
        55: .line 2318
            aload 8 /* t */
            athrow
        56: .line 2319
      StackMap locals:
      StackMap stack:
            aload 12
            athrow
        57: .line 2308
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.io.ObjectStreamClass$ClassDataSlot[] java.io.ObjectInputStream$FieldValues[] int int java.io.ObjectStreamClass java.lang.ThreadDeath int java.io.SerialCallbackContext
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
            invokevirtual java.io.SerialCallbackContext.setUsed:()V
        58: .line 2309
            aload 10 /* oldContext */
            ifnull 60
        59: .line 2310
            aload 10 /* oldContext */
            invokevirtual java.io.SerialCallbackContext.check:()V
        60: .line 2311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* oldContext */
            putfield java.io.ObjectInputStream.curContext:Ljava/io/SerialCallbackContext;
        61: .line 2312
            iconst_1
            istore 9 /* reset */
        62: .line 2313
            goto 65
      StackMap locals:
      StackMap stack: java.lang.ThreadDeath
        63: astore 13 /* x */
        start local 13 // java.lang.ThreadDeath x
        64: .line 2314
            aload 13 /* x */
            astore 8 /* t */
        end local 13 // java.lang.ThreadDeath x
        65: .line 2316
      StackMap locals:
      StackMap stack:
            iload 9 /* reset */
            ifeq 57
        66: .line 2317
            aload 8 /* t */
            ifnull 68
        67: .line 2318
            aload 8 /* t */
            athrow
        68: .line 2326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield java.io.ObjectInputStream.defaultDataEnd:Z
        end local 10 // java.io.SerialCallbackContext oldContext
        end local 9 // boolean reset
        end local 8 // java.lang.ThreadDeath t
        69: .line 2327
            goto 77
        70: .line 2328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectInputStream.defaultReadFields:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
            astore 8 /* vals */
        start local 8 // java.io.ObjectInputStream$FieldValues vals
        71: .line 2329
            aload 4 /* slotValues */
            ifnull 74
        72: .line 2330
            aload 4 /* slotValues */
            iload 6 /* i */
            aload 8 /* vals */
            aastore
        73: .line 2331
            goto 77
      StackMap locals: java.io.ObjectInputStream$FieldValues
      StackMap stack:
        74: aload 1 /* obj */
            ifnull 77
        75: .line 2332
            aload 0 /* this */
            aload 1 /* obj */
            aload 7 /* slotDesc */
            aload 8 /* vals */
            invokevirtual java.io.ObjectInputStream.defaultCheckFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        76: .line 2333
            aload 0 /* this */
            aload 1 /* obj */
            aload 7 /* slotDesc */
            aload 8 /* vals */
            invokevirtual java.io.ObjectInputStream.defaultSetFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        end local 8 // java.io.ObjectInputStream$FieldValues vals
        77: .line 2337
      StackMap locals:
      StackMap stack:
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasWriteObjectData:()Z
            ifeq 80
        78: .line 2338
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.skipCustomData:()V
        79: .line 2339
            goto 86
        80: .line 2340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
        81: .line 2342
            goto 86
        82: .line 2343
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            ifnull 86
        83: .line 2344
            aload 7 /* slotDesc */
            invokevirtual java.io.ObjectStreamClass.hasReadObjectNoDataMethod:()Z
            ifeq 86
        84: .line 2345
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.lookupException:(I)Ljava/lang/ClassNotFoundException;
            ifnonnull 86
        85: .line 2347
            aload 7 /* slotDesc */
            aload 1 /* obj */
            invokevirtual java.io.ObjectStreamClass.invokeReadObjectNoData:(Ljava/lang/Object;)V
        end local 7 // java.io.ObjectStreamClass slotDesc
        86: .line 2279
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        87: iload 6 /* i */
            aload 3 /* slots */
            arraylength
            if_icmplt 16
        end local 6 // int i
        88: .line 2352
            aload 1 /* obj */
            ifnull 101
            aload 4 /* slotValues */
            ifnull 101
        89: .line 2355
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        90: goto 94
        91: .line 2356
      StackMap locals:
      StackMap stack:
            aload 4 /* slotValues */
            iload 6 /* i */
            aaload
            ifnull 93
        92: .line 2357
            aload 0 /* this */
            aload 1 /* obj */
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            aload 4 /* slotValues */
            iload 6 /* i */
            aaload
            invokevirtual java.io.ObjectInputStream.defaultCheckFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        93: .line 2355
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        94: iload 6 /* i */
            aload 3 /* slots */
            arraylength
            if_icmplt 91
        end local 6 // int i
        95: .line 2359
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        96: goto 100
        97: .line 2360
      StackMap locals:
      StackMap stack:
            aload 4 /* slotValues */
            iload 6 /* i */
            aaload
            ifnull 99
        98: .line 2361
            aload 0 /* this */
            aload 1 /* obj */
            aload 3 /* slots */
            iload 6 /* i */
            aaload
            getfield java.io.ObjectStreamClass$ClassDataSlot.desc:Ljava/io/ObjectStreamClass;
            aload 4 /* slotValues */
            iload 6 /* i */
            aaload
            invokevirtual java.io.ObjectInputStream.defaultSetFieldValues:(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
        99: .line 2359
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
       100: iload 6 /* i */
            aload 3 /* slots */
            arraylength
            if_icmplt 97
        end local 6 // int i
       101: .line 2364
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean hasSpecialReadMethod
        end local 4 // java.io.ObjectInputStream$FieldValues[] slotValues
        end local 3 // java.io.ObjectStreamClass$ClassDataSlot[] slots
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  102     0                  this  Ljava/io/ObjectInputStream;
            0  102     1                   obj  Ljava/lang/Object;
            0  102     2                  desc  Ljava/io/ObjectStreamClass;
            1  102     3                 slots  [Ljava/io/ObjectStreamClass$ClassDataSlot;
            2  102     4            slotValues  [Ljava/io/ObjectInputStream$FieldValues;
            3  102     5  hasSpecialReadMethod  Z
            4   12     6                     i  I
            6   10     7              slotDesc  Ljava/io/ObjectStreamClass;
           15   88     6                     i  I
           17   86     7              slotDesc  Ljava/io/ObjectStreamClass;
           23   69     8                     t  Ljava/lang/ThreadDeath;
           24   69     9                 reset  Z
           25   69    10            oldContext  Ljava/io/SerialCallbackContext;
           32   33    11                    ex  Ljava/lang/ClassNotFoundException;
           40   41    13                     x  Ljava/lang/ThreadDeath;
           52   53    13                     x  Ljava/lang/ThreadDeath;
           64   65    13                     x  Ljava/lang/ThreadDeath;
           71   77     8                  vals  Ljava/io/ObjectInputStream$FieldValues;
           90   95     6                     i  I
           96  101     6                     i  I
      Exception table:
        from    to  target  type
          27    30      31  Class java.lang.ClassNotFoundException
          33    38      39  Class java.lang.ThreadDeath
          27    33      44  any
          45    50      51  Class java.lang.ThreadDeath
          57    62      63  Class java.lang.ThreadDeath
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private void skipCustomData();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2371
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 1 /* oldHandle */
        start local 1 // int oldHandle
         1: .line 2373
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.getBlockDataMode:()Z
            ifeq 4
         2: .line 2374
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.skipBlockData:()V
         3: .line 2375
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         4: .line 2377
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.peekByte:()B
            tableswitch { // 119 - 122
                  119: 5
                  120: 7
                  121: 10
                  122: 5
              default: 10
          }
         5: .line 2380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            iconst_1
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.setBlockDataMode:(Z)Z
            pop
         6: .line 2381
            goto 1
         7: .line 2384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            pop
         8: .line 2385
            aload 0 /* this */
            iload 1 /* oldHandle */
            putfield java.io.ObjectInputStream.passHandle:I
         9: .line 2386
            return
        10: .line 2389
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            pop
        11: .line 2372
            goto 1
        end local 1 // int oldHandle
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Ljava/io/ObjectInputStream;
            1   12     1  oldHandle  I
    Exceptions:
      throws java.io.IOException

  private java.io.ObjectInputStream$FieldValues defaultReadFields(java.lang.Object, java.io.ObjectStreamClass);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;)Ljava/io/ObjectInputStream$FieldValues;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
         0: .line 2413
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.forClass:()Ljava/lang/Class;
            astore 3 /* cl */
        start local 3 // java.lang.Class cl
         1: .line 2414
            aload 3 /* cl */
            ifnull 3
            aload 1 /* obj */
            ifnull 3
            aload 3 /* cl */
            aload 1 /* obj */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 2415
            new java.lang.ClassCastException
            dup
            invokespecial java.lang.ClassCastException.<init>:()V
            athrow
         3: .line 2418
      StackMap locals: java.lang.Class
      StackMap stack:
            aconst_null
            astore 4 /* primVals */
        start local 4 // byte[] primVals
         4: .line 2419
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getPrimDataSize:()I
            istore 5 /* primDataSize */
        start local 5 // int primDataSize
         5: .line 2420
            iload 5 /* primDataSize */
            ifle 8
         6: .line 2421
            iload 5 /* primDataSize */
            newarray 8
            astore 4 /* primVals */
         7: .line 2422
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            aload 4 /* primVals */
            iconst_0
            iload 5 /* primDataSize */
            iconst_0
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readFully:([BIIZ)V
         8: .line 2425
      StackMap locals: byte[] int
      StackMap stack:
            aconst_null
            astore 6 /* objVals */
        start local 6 // java.lang.Object[] objVals
         9: .line 2426
            aload 2 /* desc */
            invokevirtual java.io.ObjectStreamClass.getNumObjFields:()I
            istore 7 /* numObjFields */
        start local 7 // int numObjFields
        10: .line 2427
            iload 7 /* numObjFields */
            ifle 24
        11: .line 2428
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            istore 8 /* objHandle */
        start local 8 // int objHandle
        12: .line 2429
            aload 2 /* desc */
            iconst_0
            invokevirtual java.io.ObjectStreamClass.getFields:(Z)[Ljava/io/ObjectStreamField;
            astore 9 /* fields */
        start local 9 // java.io.ObjectStreamField[] fields
        13: .line 2430
            iload 7 /* numObjFields */
            anewarray java.lang.Object
            astore 6 /* objVals */
        14: .line 2431
            aload 9 /* fields */
            arraylength
            aload 6 /* objVals */
            arraylength
            isub
            istore 10 /* numPrimFields */
        start local 10 // int numPrimFields
        15: .line 2432
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        16: goto 22
        17: .line 2433
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.lang.Class byte[] int java.lang.Object[] int int java.io.ObjectStreamField[] int int
      StackMap stack:
            aload 9 /* fields */
            iload 10 /* numPrimFields */
            iload 11 /* i */
            iadd
            aaload
            astore 12 /* f */
        start local 12 // java.io.ObjectStreamField f
        18: .line 2434
            aload 6 /* objVals */
            iload 11 /* i */
            aload 0 /* this */
            ldc Ljava/lang/Object;
            aload 12 /* f */
            invokevirtual java.io.ObjectStreamField.isUnshared:()Z
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            aastore
        19: .line 2435
            aload 12 /* f */
            invokevirtual java.io.ObjectStreamField.getField:()Ljava/lang/reflect/Field;
            ifnull 21
        20: .line 2436
            aload 0 /* this */
            getfield java.io.ObjectInputStream.handles:Ljava/io/ObjectInputStream$HandleTable;
            iload 8 /* objHandle */
            aload 0 /* this */
            getfield java.io.ObjectInputStream.passHandle:I
            invokevirtual java.io.ObjectInputStream$HandleTable.markDependency:(II)V
        end local 12 // java.io.ObjectStreamField f
        21: .line 2432
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 11 /* i */
            aload 6 /* objVals */
            arraylength
            if_icmplt 17
        end local 11 // int i
        23: .line 2439
            aload 0 /* this */
            iload 8 /* objHandle */
            putfield java.io.ObjectInputStream.passHandle:I
        end local 10 // int numPrimFields
        end local 9 // java.io.ObjectStreamField[] fields
        end local 8 // int objHandle
        24: .line 2442
      StackMap locals: java.io.ObjectInputStream java.lang.Object java.io.ObjectStreamClass java.lang.Class byte[] int java.lang.Object[] int
      StackMap stack:
            new java.io.ObjectInputStream$FieldValues
            dup
            aload 0 /* this */
            aload 4 /* primVals */
            aload 6 /* objVals */
            invokespecial java.io.ObjectInputStream$FieldValues.<init>:(Ljava/io/ObjectInputStream;[B[Ljava/lang/Object;)V
            areturn
        end local 7 // int numObjFields
        end local 6 // java.lang.Object[] objVals
        end local 5 // int primDataSize
        end local 4 // byte[] primVals
        end local 3 // java.lang.Class cl
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   25     0           this  Ljava/io/ObjectInputStream;
            0   25     1            obj  Ljava/lang/Object;
            0   25     2           desc  Ljava/io/ObjectStreamClass;
            1   25     3             cl  Ljava/lang/Class<*>;
            4   25     4       primVals  [B
            5   25     5   primDataSize  I
            9   25     6        objVals  [Ljava/lang/Object;
           10   25     7   numObjFields  I
           12   24     8      objHandle  I
           13   24     9         fields  [Ljava/io/ObjectStreamField;
           15   24    10  numPrimFields  I
           16   23    11              i  I
           18   21    12              f  Ljava/io/ObjectStreamField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   
      desc  

  private void defaultCheckFieldValues(java.lang.Object, java.io.ObjectStreamClass, java.io.ObjectInputStream$FieldValues);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
        start local 3 // java.io.ObjectInputStream$FieldValues values
         0: .line 2448
            aload 3 /* values */
            getfield java.io.ObjectInputStream$FieldValues.objValues:[Ljava/lang/Object;
            astore 4 /* objectValues */
        start local 4 // java.lang.Object[] objectValues
         1: .line 2449
            aload 4 /* objectValues */
            ifnull 3
         2: .line 2450
            aload 2 /* desc */
            aload 1 /* obj */
            aload 4 /* objectValues */
            invokevirtual java.io.ObjectStreamClass.checkObjFieldValueTypes:(Ljava/lang/Object;[Ljava/lang/Object;)V
         3: .line 2451
      StackMap locals: java.lang.Object[]
      StackMap stack:
            return
        end local 4 // java.lang.Object[] objectValues
        end local 3 // java.io.ObjectInputStream$FieldValues values
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljava/io/ObjectInputStream;
            0    4     1           obj  Ljava/lang/Object;
            0    4     2          desc  Ljava/io/ObjectStreamClass;
            0    4     3        values  Ljava/io/ObjectInputStream$FieldValues;
            1    4     4  objectValues  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      obj     
      desc    
      values  

  private void defaultSetFieldValues(java.lang.Object, java.io.ObjectStreamClass, java.io.ObjectInputStream$FieldValues);
    descriptor: (Ljava/lang/Object;Ljava/io/ObjectStreamClass;Ljava/io/ObjectInputStream$FieldValues;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // java.io.ObjectInputStream this
        start local 1 // java.lang.Object obj
        start local 2 // java.io.ObjectStreamClass desc
        start local 3 // java.io.ObjectInputStream$FieldValues values
         0: .line 2456
            aload 3 /* values */
            getfield java.io.ObjectInputStream$FieldValues.primValues:[B
            astore 4 /* primValues */
        start local 4 // byte[] primValues
         1: .line 2457
            aload 3 /* values */
            getfield java.io.ObjectInputStream$FieldValues.objValues:[Ljava/lang/Object;
            astore 5 /* objectValues */
        start local 5 // java.lang.Object[] objectValues
         2: .line 2459
            aload 4 /* primValues */
            ifnull 4
         3: .line 2460
            aload 2 /* desc */
            aload 1 /* obj */
            aload 4 /* primValues */
            invokevirtual java.io.ObjectStreamClass.setPrimFieldValues:(Ljava/lang/Object;[B)V
         4: .line 2461
      StackMap locals: byte[] java.lang.Object[]
      StackMap stack:
            aload 5 /* objectValues */
            ifnull 6
         5: .line 2462
            aload 2 /* desc */
            aload 1 /* obj */
            aload 5 /* objectValues */
            invokevirtual java.io.ObjectStreamClass.setObjFieldValues:(Ljava/lang/Object;[Ljava/lang/Object;)V
         6: .line 2463
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.Object[] objectValues
        end local 4 // byte[] primValues
        end local 3 // java.io.ObjectInputStream$FieldValues values
        end local 2 // java.io.ObjectStreamClass desc
        end local 1 // java.lang.Object obj
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Ljava/io/ObjectInputStream;
            0    7     1           obj  Ljava/lang/Object;
            0    7     2          desc  Ljava/io/ObjectStreamClass;
            0    7     3        values  Ljava/io/ObjectInputStream$FieldValues;
            1    7     4    primValues  [B
            2    7     5  objectValues  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      obj     
      desc    
      values  

  private java.io.IOException readFatalException();
    descriptor: ()Ljava/io/IOException;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2471
            aload 0 /* this */
            getfield java.io.ObjectInputStream.bin:Ljava/io/ObjectInputStream$BlockDataInputStream;
            invokevirtual java.io.ObjectInputStream$BlockDataInputStream.readByte:()B
            bipush 123
            if_icmpeq 2
         1: .line 2472
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            athrow
         2: .line 2474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         3: .line 2475
            aload 0 /* this */
            ldc Ljava/lang/Object;
            iconst_0
            invokevirtual java.io.ObjectInputStream.readObject0:(Ljava/lang/Class;Z)Ljava/lang/Object;
            checkcast java.io.IOException
            areturn
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException

  private void handleReset();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2484
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            lconst_0
            lcmp
            ifle 4
         1: .line 2485
            new java.io.StreamCorruptedException
            dup
         2: .line 2486
            new java.lang.StringBuilder
            dup
            ldc "unexpected reset; recursion depth: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.io.ObjectInputStream.depth:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 2485
            invokespecial java.io.StreamCorruptedException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.io.ObjectInputStream.clear:()V
         5: .line 2489
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.StreamCorruptedException

  private static native void bytesToFloats(byte[], int, float[], int, int);
    descriptor: ([BI[FII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      src      
      srcpos   
      dst      
      dstpos   
      nfloats  

  private static native void bytesToDoubles(byte[], int, double[], int, int);
    descriptor: ([BI[DII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      src       
      srcpos    
      dst       
      dstpos    
      ndoubles  

  private static java.lang.ClassLoader latestUserDefinedLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2514
            invokestatic jdk.internal.misc.VM.latestUserDefinedLoader:()Ljava/lang/ClassLoader;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void freeze();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.ObjectInputStream this
         0: .line 2893
            getstatic java.io.ObjectInputStream.UNSAFE:Ljdk/internal/misc/Unsafe;
            invokevirtual jdk.internal.misc.Unsafe.storeFence:()V
         1: .line 2894
            return
        end local 0 // java.io.ObjectInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/io/ObjectInputStream;

  private static java.lang.Object cloneArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object array
         0: .line 4073
            aload 0 /* array */
            instanceof java.lang.Object[]
            ifeq 2
         1: .line 4074
            aload 0 /* array */
            checkcast java.lang.Object[]
            invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
            areturn
         2: .line 4075
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof boolean[]
            ifeq 4
         3: .line 4076
            aload 0 /* array */
            checkcast boolean[]
            invokevirtual boolean[].clone:()Ljava/lang/Object;
            areturn
         4: .line 4077
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof byte[]
            ifeq 6
         5: .line 4078
            aload 0 /* array */
            checkcast byte[]
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
         6: .line 4079
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof char[]
            ifeq 8
         7: .line 4080
            aload 0 /* array */
            checkcast char[]
            invokevirtual char[].clone:()Ljava/lang/Object;
            areturn
         8: .line 4081
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof double[]
            ifeq 10
         9: .line 4082
            aload 0 /* array */
            checkcast double[]
            invokevirtual double[].clone:()Ljava/lang/Object;
            areturn
        10: .line 4083
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof float[]
            ifeq 12
        11: .line 4084
            aload 0 /* array */
            checkcast float[]
            invokevirtual float[].clone:()Ljava/lang/Object;
            areturn
        12: .line 4085
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof int[]
            ifeq 14
        13: .line 4086
            aload 0 /* array */
            checkcast int[]
            invokevirtual int[].clone:()Ljava/lang/Object;
            areturn
        14: .line 4087
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof long[]
            ifeq 16
        15: .line 4088
            aload 0 /* array */
            checkcast long[]
            invokevirtual long[].clone:()Ljava/lang/Object;
            areturn
        16: .line 4089
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            instanceof short[]
            ifeq 18
        17: .line 4090
            aload 0 /* array */
            checkcast short[]
            invokevirtual short[].clone:()Ljava/lang/Object;
            areturn
        18: .line 4092
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 0 // java.lang.Object array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0  array  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      array  
}
SourceFile: "ObjectInputStream.java"
NestMembers:
  java.io.ObjectInputStream$1  java.io.ObjectInputStream$BlockDataInputStream  java.io.ObjectInputStream$Caches  java.io.ObjectInputStream$FieldValues  java.io.ObjectInputStream$FilterValues  java.io.ObjectInputStream$GetField  java.io.ObjectInputStream$GetFieldImpl  java.io.ObjectInputStream$HandleTable  java.io.ObjectInputStream$HandleTable$HandleList  java.io.ObjectInputStream$Logging  java.io.ObjectInputStream$PeekInputStream  java.io.ObjectInputStream$ValidationList  java.io.ObjectInputStream$ValidationList$1  java.io.ObjectInputStream$ValidationList$Callback
InnerClasses:
  public final Config = java.io.ObjectInputFilter$Config of java.io.ObjectInputFilter
  public abstract FilterInfo = java.io.ObjectInputFilter$FilterInfo of java.io.ObjectInputFilter
  public final Status = java.io.ObjectInputFilter$Status of java.io.ObjectInputFilter
  java.io.ObjectInputStream$1
  private BlockDataInputStream = java.io.ObjectInputStream$BlockDataInputStream of java.io.ObjectInputStream
  private Caches = java.io.ObjectInputStream$Caches of java.io.ObjectInputStream
  private FieldValues = java.io.ObjectInputStream$FieldValues of java.io.ObjectInputStream
  FilterValues = java.io.ObjectInputStream$FilterValues of java.io.ObjectInputStream
  public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream
  private GetFieldImpl = java.io.ObjectInputStream$GetFieldImpl of java.io.ObjectInputStream
  private HandleTable = java.io.ObjectInputStream$HandleTable of java.io.ObjectInputStream
  private Logging = java.io.ObjectInputStream$Logging of java.io.ObjectInputStream
  private PeekInputStream = java.io.ObjectInputStream$PeekInputStream of java.io.ObjectInputStream
  private ValidationList = java.io.ObjectInputStream$ValidationList of java.io.ObjectInputStream
  ClassDataSlot = java.io.ObjectStreamClass$ClassDataSlot of java.io.ObjectStreamClass
  WeakClassKey = java.io.ObjectStreamClass$WeakClassKey of java.io.ObjectStreamClass
  public abstract Logger = java.lang.System$Logger of java.lang.System
  public final Level = java.lang.System$Logger$Level of java.lang.System$Logger
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles