package test

public interface DeeplySubstitutedClassParameter2 {

    public interface Middle</*0*/ E : kotlin.Any!> : test.DeeplySubstitutedClassParameter2.Super<E!> {
        public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
        public abstract override /*1*/ /*fake_override*/ fun foo(/*0*/ p0: E!): kotlin.Unit
    }

    public interface Sub : test.DeeplySubstitutedClassParameter2.Middle<kotlin.String!> {
        public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
        public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.String!): kotlin.Unit
    }

    public interface Super</*0*/ T : kotlin.Any!> {
        public abstract fun dummy(): kotlin.Unit
        public abstract fun foo(/*0*/ p0: T!): kotlin.Unit
    }
}
