public final class Box$$serializer : java/lang/Object, kotlinx/serialization/internal/GeneratedSerializer {
    private final kotlinx.serialization.descriptors.SerialDescriptor $$serialDesc

    private kotlinx.serialization.KSerializer typeSerial0

    private void <init>()

    public void <init>(kotlinx.serialization.KSerializer typeSerial0)

    public kotlinx.serialization.KSerializer[] childSerializers()

    public Box deserialize(kotlinx.serialization.encoding.Decoder decoder)

    public java.lang.Object deserialize(kotlinx.serialization.encoding.Decoder p0)

    public kotlinx.serialization.descriptors.SerialDescriptor getDescriptor()

    public void serialize(kotlinx.serialization.encoding.Encoder encoder, Box value)

    public void serialize(kotlinx.serialization.encoding.Encoder p0, java.lang.Object p1)

    public kotlinx.serialization.KSerializer[] typeParametersSerializers()
}

public final class Box$Companion : java/lang/Object {
    private void <init>()

    public void <init>(kotlin.jvm.internal.DefaultConstructorMarker $constructor_marker)

    public final kotlinx.serialization.KSerializer serializer(kotlinx.serialization.KSerializer typeSerial0)
}

public final class Box : java/lang/Object {
    private final static kotlinx.serialization.descriptors.SerialDescriptor $cachedDescriptor

    public final static Box$Companion Companion

    private final java.lang.Object boxed

    static void <clinit>()

    public void <init>(java.lang.Object boxed)

    public void <init>(int seen1, java.lang.Object boxed, kotlinx.serialization.internal.SerializationConstructorMarker serializationConstructorMarker)

    public final java.lang.Object component1()

    public final Box copy(java.lang.Object boxed)

    public static Box copy$default(Box p0, java.lang.Object p1, int p2, java.lang.Object p3)

    public boolean equals(java.lang.Object p0)

    public final java.lang.Object getBoxed()

    public int hashCode()

    public java.lang.String toString()

    public final static void write$Self$main(Box self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc, kotlinx.serialization.KSerializer typeSerial0)
}

public final class IntrinsicsKt : java/lang/Object {
    public final static kotlinx.serialization.KSerializer getBoxSer()

    public final static kotlinx.serialization.KSerializer getSer()

    public final static kotlinx.serialization.KSerializer listSer()

    public final static void test() {
        LABEL (L0)
        LINENUMBER (28)
          ICONST_0
          ISTORE (0)
        LABEL (L1)
          LDC (LSimple;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;)Lkotlin/reflect/KType;)
        LABEL (L2)
        LINENUMBER (53)
          INVOKESTATIC (kotlinx/serialization/SerializersKt, serializer, (Lkotlin/reflect/KType;)Lkotlinx/serialization/KSerializer;)
          ASTORE (1)
        LABEL (L3)
          ICONST_0
          ISTORE (2)
        LABEL (L4)
        LINENUMBER (54)
          ALOAD (1)
          LDC (null cannot be cast to non-null type kotlinx.serialization.KSerializer<T of kotlinx.serialization.internal.Platform_commonKt.cast>)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L5)
        LINENUMBER (53)
          NOP
        LABEL (L6)
        LINENUMBER (29)
          ICONST_0
          ISTORE (0)
        LABEL (L7)
        LINENUMBER (55)
          ICONST_0
          ISTORE (1)
        LABEL (L8)
          LDC (LSimple;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;)Lkotlin/reflect/KType;)
        LABEL (L9)
        LINENUMBER (56)
          INVOKESTATIC (kotlinx/serialization/SerializersKt, serializer, (Lkotlin/reflect/KType;)Lkotlinx/serialization/KSerializer;)
          ASTORE (2)
        LABEL (L10)
          ICONST_0
          ISTORE (3)
        LABEL (L11)
        LINENUMBER (57)
          ALOAD (2)
          LDC (null cannot be cast to non-null type kotlinx.serialization.KSerializer<T of kotlinx.serialization.internal.Platform_commonKt.cast>)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L12)
        LINENUMBER (56)
          NOP
        LABEL (L13)
        LINENUMBER (55)
          NOP
        LABEL (L14)
        LINENUMBER (30)
          ICONST_0
          ISTORE (0)
        LABEL (L15)
        LINENUMBER (58)
          ICONST_0
          ISTORE (1)
        LABEL (L16)
          LDC (LBox;)
          GETSTATIC (kotlin/reflect/KTypeProjection, Companion, Lkotlin/reflect/KTypeProjection$Companion;)
          LDC (LSimple;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;)Lkotlin/reflect/KType;)
          INVOKEVIRTUAL (kotlin/reflect/KTypeProjection$Companion, invariant, (Lkotlin/reflect/KType;)Lkotlin/reflect/KTypeProjection;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType;)
        LABEL (L17)
        LINENUMBER (59)
          INVOKESTATIC (kotlinx/serialization/SerializersKt, serializer, (Lkotlin/reflect/KType;)Lkotlinx/serialization/KSerializer;)
          ASTORE (2)
        LABEL (L18)
          ICONST_0
          ISTORE (3)
        LABEL (L19)
        LINENUMBER (60)
          ALOAD (2)
          LDC (null cannot be cast to non-null type kotlinx.serialization.KSerializer<T of kotlinx.serialization.internal.Platform_commonKt.cast>)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L20)
        LINENUMBER (59)
          NOP
        LABEL (L21)
        LINENUMBER (58)
          NOP
        LABEL (L22)
        LINENUMBER (31)
          ICONST_0
          ISTORE (0)
        LABEL (L23)
        LINENUMBER (61)
          ICONST_0
          ISTORE (1)
        LABEL (L24)
          LDC (LBox;)
          GETSTATIC (kotlin/reflect/KTypeProjection, Companion, Lkotlin/reflect/KTypeProjection$Companion;)
          LDC (LSimple;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;)Lkotlin/reflect/KType;)
          INVOKEVIRTUAL (kotlin/reflect/KTypeProjection$Companion, invariant, (Lkotlin/reflect/KType;)Lkotlin/reflect/KTypeProjection;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType;)
        LABEL (L25)
        LINENUMBER (62)
          INVOKESTATIC (kotlinx/serialization/SerializersKt, serializer, (Lkotlin/reflect/KType;)Lkotlinx/serialization/KSerializer;)
          ASTORE (2)
        LABEL (L26)
          ICONST_0
          ISTORE (3)
        LABEL (L27)
        LINENUMBER (63)
          ALOAD (2)
          LDC (null cannot be cast to non-null type kotlinx.serialization.KSerializer<T of kotlinx.serialization.internal.Platform_commonKt.cast>)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L28)
        LINENUMBER (62)
          NOP
        LABEL (L29)
        LINENUMBER (61)
          NOP
        LABEL (L30)
        LINENUMBER (32)
          ICONST_0
          ISTORE (0)
        LABEL (L31)
        LINENUMBER (64)
          ICONST_0
          ISTORE (1)
        LABEL (L32)
          LDC (Ljava/util/List;)
          GETSTATIC (kotlin/reflect/KTypeProjection, Companion, Lkotlin/reflect/KTypeProjection$Companion;)
          LDC (LSimple;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;)Lkotlin/reflect/KType;)
          INVOKEVIRTUAL (kotlin/reflect/KTypeProjection$Companion, invariant, (Lkotlin/reflect/KType;)Lkotlin/reflect/KTypeProjection;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType;)
        LABEL (L33)
        LINENUMBER (65)
          INVOKESTATIC (kotlinx/serialization/SerializersKt, serializer, (Lkotlin/reflect/KType;)Lkotlinx/serialization/KSerializer;)
          ASTORE (2)
        LABEL (L34)
          ICONST_0
          ISTORE (3)
        LABEL (L35)
        LINENUMBER (66)
          ALOAD (2)
          LDC (null cannot be cast to non-null type kotlinx.serialization.KSerializer<T of kotlinx.serialization.internal.Platform_commonKt.cast>)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L36)
        LINENUMBER (65)
          NOP
        LABEL (L37)
        LINENUMBER (64)
          NOP
        LABEL (L38)
        LINENUMBER (34)
          ICONST_0
          ISTORE (0)
        LABEL (L39)
          LDC (LBox;)
          GETSTATIC (kotlin/reflect/KTypeProjection, Companion, Lkotlin/reflect/KTypeProjection$Companion;)
          LDC (Ljava/util/List;)
          GETSTATIC (kotlin/reflect/KTypeProjection, Companion, Lkotlin/reflect/KTypeProjection$Companion;)
          LDC (LSimple;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;)Lkotlin/reflect/KType;)
          INVOKEVIRTUAL (kotlin/reflect/KTypeProjection$Companion, invariant, (Lkotlin/reflect/KType;)Lkotlin/reflect/KTypeProjection;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType;)
          INVOKEVIRTUAL (kotlin/reflect/KTypeProjection$Companion, invariant, (Lkotlin/reflect/KType;)Lkotlin/reflect/KTypeProjection;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType;)
        LABEL (L40)
        LINENUMBER (67)
          INVOKESTATIC (kotlinx/serialization/SerializersKt, serializer, (Lkotlin/reflect/KType;)Lkotlinx/serialization/KSerializer;)
          ASTORE (1)
        LABEL (L41)
          ICONST_0
          ISTORE (2)
        LABEL (L42)
        LINENUMBER (68)
          ALOAD (1)
          LDC (null cannot be cast to non-null type kotlinx.serialization.KSerializer<T of kotlinx.serialization.internal.Platform_commonKt.cast>)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L43)
        LINENUMBER (67)
          NOP
        LABEL (L44)
        LINENUMBER (36)
          ICONST_0
          ISTORE (0)
        LABEL (L45)
        LINENUMBER (69)
          ICONST_0
          ISTORE (1)
        LABEL (L46)
          LDC (Ljava/util/List;)
          GETSTATIC (kotlin/reflect/KTypeProjection, Companion, Lkotlin/reflect/KTypeProjection$Companion;)
          LDC (LBox;)
          GETSTATIC (kotlin/reflect/KTypeProjection, Companion, Lkotlin/reflect/KTypeProjection$Companion;)
          LDC (Ljava/util/List;)
          GETSTATIC (kotlin/reflect/KTypeProjection, Companion, Lkotlin/reflect/KTypeProjection$Companion;)
          LDC (LSimple;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;)Lkotlin/reflect/KType;)
          INVOKEVIRTUAL (kotlin/reflect/KTypeProjection$Companion, invariant, (Lkotlin/reflect/KType;)Lkotlin/reflect/KTypeProjection;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType;)
          INVOKEVIRTUAL (kotlin/reflect/KTypeProjection$Companion, invariant, (Lkotlin/reflect/KType;)Lkotlin/reflect/KTypeProjection;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType;)
          INVOKEVIRTUAL (kotlin/reflect/KTypeProjection$Companion, invariant, (Lkotlin/reflect/KType;)Lkotlin/reflect/KTypeProjection;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType;)
        LABEL (L47)
        LINENUMBER (70)
          INVOKESTATIC (kotlinx/serialization/SerializersKt, serializer, (Lkotlin/reflect/KType;)Lkotlinx/serialization/KSerializer;)
          ASTORE (2)
        LABEL (L48)
          ICONST_0
          ISTORE (3)
        LABEL (L49)
        LINENUMBER (71)
          ALOAD (2)
          LDC (null cannot be cast to non-null type kotlinx.serialization.KSerializer<T of kotlinx.serialization.internal.Platform_commonKt.cast>)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L50)
        LINENUMBER (70)
          NOP
        LABEL (L51)
        LINENUMBER (69)
          NOP
        LABEL (L52)
        LINENUMBER (38)
          ICONST_0
          ISTORE (0)
        LABEL (L53)
          GETSTATIC (java/lang/Integer, TYPE, Ljava/lang/Class;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;)Lkotlin/reflect/KType;)
        LABEL (L54)
        LINENUMBER (72)
          INVOKESTATIC (kotlinx/serialization/SerializersKt, serializer, (Lkotlin/reflect/KType;)Lkotlinx/serialization/KSerializer;)
          ASTORE (1)
        LABEL (L55)
          ICONST_0
          ISTORE (2)
        LABEL (L56)
        LINENUMBER (73)
          ALOAD (1)
          LDC (null cannot be cast to non-null type kotlinx.serialization.KSerializer<T of kotlinx.serialization.internal.Platform_commonKt.cast>)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L57)
        LINENUMBER (72)
          NOP
        LABEL (L58)
        LINENUMBER (40)
          ICONST_0
          ISTORE (0)
        LABEL (L59)
          LDC (LSerializableObject;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;)Lkotlin/reflect/KType;)
        LABEL (L60)
        LINENUMBER (74)
          INVOKESTATIC (kotlinx/serialization/SerializersKt, serializer, (Lkotlin/reflect/KType;)Lkotlinx/serialization/KSerializer;)
          ASTORE (1)
        LABEL (L61)
          ICONST_0
          ISTORE (2)
        LABEL (L62)
        LINENUMBER (75)
          ALOAD (1)
          LDC (null cannot be cast to non-null type kotlinx.serialization.KSerializer<T of kotlinx.serialization.internal.Platform_commonKt.cast>)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L63)
        LINENUMBER (74)
          NOP
        LABEL (L64)
        LINENUMBER (42)
          ICONST_0
          ISTORE (0)
        LABEL (L65)
        LINENUMBER (76)
          ICONST_0
          ISTORE (1)
        LABEL (L66)
          LDC (Ljava/util/List;)
          GETSTATIC (kotlin/reflect/KTypeProjection, Companion, Lkotlin/reflect/KTypeProjection$Companion;)
          LDC (Ljava/util/List;)
          GETSTATIC (kotlin/reflect/KTypeProjection, Companion, Lkotlin/reflect/KTypeProjection$Companion;)
          LDC (LBox;)
          GETSTATIC (kotlin/reflect/KTypeProjection, Companion, Lkotlin/reflect/KTypeProjection$Companion;)
          GETSTATIC (java/lang/Integer, TYPE, Ljava/lang/Class;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;)Lkotlin/reflect/KType;)
          INVOKEVIRTUAL (kotlin/reflect/KTypeProjection$Companion, invariant, (Lkotlin/reflect/KType;)Lkotlin/reflect/KTypeProjection;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType;)
          INVOKEVIRTUAL (kotlin/reflect/KTypeProjection$Companion, invariant, (Lkotlin/reflect/KType;)Lkotlin/reflect/KTypeProjection;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType;)
          INVOKEVIRTUAL (kotlin/reflect/KTypeProjection$Companion, invariant, (Lkotlin/reflect/KType;)Lkotlin/reflect/KTypeProjection;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, typeOf, (Ljava/lang/Class;Lkotlin/reflect/KTypeProjection;)Lkotlin/reflect/KType;)
        LABEL (L67)
        LINENUMBER (77)
          INVOKESTATIC (kotlinx/serialization/SerializersKt, serializer, (Lkotlin/reflect/KType;)Lkotlinx/serialization/KSerializer;)
          ASTORE (2)
        LABEL (L68)
          ICONST_0
          ISTORE (3)
        LABEL (L69)
        LINENUMBER (78)
          ALOAD (2)
          LDC (null cannot be cast to non-null type kotlinx.serialization.KSerializer<T of kotlinx.serialization.internal.Platform_commonKt.cast>)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L70)
        LINENUMBER (77)
          NOP
        LABEL (L71)
        LINENUMBER (76)
          NOP
        LABEL (L72)
        LINENUMBER (44)
          ICONST_0
          ISTORE (0)
        LABEL (L73)
          LDC (LSimple;)
          INVOKESTATIC (kotlin/jvm/internal/Reflection, nullableTypeOf, (Ljava/lang/Class;)Lkotlin/reflect/KType;)
        LABEL (L74)
        LINENUMBER (79)
          INVOKESTATIC (kotlinx/serialization/SerializersKt, serializer, (Lkotlin/reflect/KType;)Lkotlinx/serialization/KSerializer;)
          ASTORE (1)
        LABEL (L75)
          ICONST_0
          ISTORE (2)
        LABEL (L76)
        LINENUMBER (80)
          ALOAD (1)
          LDC (null cannot be cast to non-null type kotlinx.serialization.KSerializer<T of kotlinx.serialization.internal.Platform_commonKt.cast>)
          INVOKESTATIC (kotlin/jvm/internal/Intrinsics, checkNotNull, (Ljava/lang/Object;Ljava/lang/String;)V)
        LABEL (L77)
        LINENUMBER (79)
          NOP
        LABEL (L78)
        LINENUMBER (45)
          RETURN
    }
}

final class SerializableObject$serializer$1 : kotlin/jvm/internal/Lambda, kotlin/jvm/functions/Function0 {
    public final static SerializableObject$serializer$1 INSTANCE

    static void <clinit>()

    public void <init>()

    public final kotlinx.serialization.KSerializer invoke()

    public final java.lang.Object invoke()
}

public final class SerializableObject : java/lang/Object {
    private final static kotlin.Lazy $cachedSerializer$delegate

    public final static SerializableObject INSTANCE

    static void <clinit>()

    private void <init>()

    public final kotlinx.serialization.KSerializer serializer()
}

public final class Simple$$serializer : java/lang/Object, kotlinx/serialization/internal/GeneratedSerializer {
    private final static kotlinx.serialization.descriptors.SerialDescriptor $$serialDesc

    public final static Simple$$serializer INSTANCE

    static void <clinit>()

    private void <init>()

    public kotlinx.serialization.KSerializer[] childSerializers()

    public Simple deserialize(kotlinx.serialization.encoding.Decoder decoder)

    public java.lang.Object deserialize(kotlinx.serialization.encoding.Decoder p0)

    public kotlinx.serialization.descriptors.SerialDescriptor getDescriptor()

    public void serialize(kotlinx.serialization.encoding.Encoder encoder, Simple value)

    public void serialize(kotlinx.serialization.encoding.Encoder p0, java.lang.Object p1)

    public kotlinx.serialization.KSerializer[] typeParametersSerializers()
}

public final class Simple$Companion : java/lang/Object {
    private void <init>()

    public void <init>(kotlin.jvm.internal.DefaultConstructorMarker $constructor_marker)

    public final kotlinx.serialization.KSerializer serializer()
}

public final class Simple : java/lang/Object {
    public final static Simple$Companion Companion

    private final java.lang.String firstName

    private final java.lang.String lastName

    static void <clinit>()

    public void <init>(java.lang.String firstName, java.lang.String lastName)

    public void <init>(int seen1, java.lang.String firstName, java.lang.String lastName, kotlinx.serialization.internal.SerializationConstructorMarker serializationConstructorMarker)

    public final java.lang.String getFirstName()

    public final java.lang.String getLastName()

    public final static void write$Self$main(Simple self, kotlinx.serialization.encoding.CompositeEncoder output, kotlinx.serialization.descriptors.SerialDescriptor serialDesc)
}
