package

public fun </*0*/ T> getT(): T

public interface In</*0*/ in 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 Test</*0*/ in I, /*1*/ out O, /*2*/ P> {
    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 abstract fun neOk1(/*0*/ i: (I) -> O): (O) -> I
    public abstract fun neOk2(/*0*/ i: (In<O>) -> In<I>): kotlin.Unit
    public open fun neOk3(): (In<I>) -> In<O>
    public abstract fun ok1(/*0*/ i: (O) -> I): (I) -> O
    public abstract fun ok2(/*0*/ i: (P) -> P): (P) -> P
    public open fun ok3(/*0*/ i: (In<I>) -> In<O>): (In<O>) -> In<I>
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
