package

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

public interface In</*0*/ in I> {
    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 Inv</*0*/ 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 open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

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