package

public val </*0*/ T> T.bar1: kotlin.Nothing?
public var </*0*/ T4> T4?.bar2: kotlin.Nothing?
public fun </*0*/ T> foo1(): kotlin.Unit
public fun </*0*/ T> foo11(): kotlin.Unit
public inline fun </*0*/ reified T1, /*1*/ T2, /*2*/ reified T3> foo2(): kotlin.Unit
public fun main(): kotlin.Unit
public fun </*0*/ T1, /*1*/ T2> T2?.foo3(): kotlin.Unit

public interface A</*0*/ T> {
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public interface A1</*0*/ T> {
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.TYPE, AnnotationTarget.TYPE_PARAMETER}) public final annotation class Anno : kotlin.Annotation {
    public constructor Anno()
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public final class Foo1</*0*/ T1> {
    public constructor Foo1</*0*/ T1>()
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public final class Foo2</*0*/ T1, /*1*/ T2 : T1> {
    public constructor Foo2</*0*/ T1, /*1*/ T2 : T1>()
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public final fun </*0*/ T1, /*1*/ T2> foo2(): kotlin.Unit
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String

    internal final inner class B</*0*/ T, /*1*/ T2> /*captured type parameters: /*2*/ T1, /*3*/ T2 : T1*/ {
        public constructor B</*0*/ T, /*1*/ T2>()
        public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
        public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
        public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    }
}
public typealias Foo3</*0*/ T1, /*1*/ @Anno T2> = kotlin.collections.List<T2>
public typealias Foo4</*0*/ T1, /*1*/ @Anno T2> = kotlin.collections.List<T2>
