library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

abstract class A extends core::Object {
  synthetic constructor •() → self::A
    ;
  abstract method m(covariant core::int a) → core::Object?;
}
abstract class B extends core::Object {
  synthetic constructor •() → self::B
    ;
  abstract method m(covariant core::num a) → dynamic;
}
abstract class C extends core::Object {
  synthetic constructor •() → self::C
    ;
  abstract method m(core::num a) → void;
}
abstract class D extends core::Object implements self::A {
  synthetic constructor •() → self::D
    ;
  abstract method m(covariant core::int a) → core::Object?;
}
abstract class E extends core::Object implements self::B {
  synthetic constructor •() → self::E
    ;
  abstract method m(covariant core::num a) → dynamic;
}
abstract class F extends core::Object {
  synthetic constructor •() → self::F
    ;
  abstract method m(core::int a) → core::Object?;
}
abstract class G extends core::Object implements self::C {
  synthetic constructor •() → self::G
    ;
  abstract method m(core::num a) → void;
}
abstract class H extends core::Object implements self::D, self::E, self::F, self::C {
  synthetic constructor •() → self::H
    ;
  abstract forwarding-stub member-signature method m(covariant core::num a) → core::Object?;
}
abstract class I extends core::Object implements self::D {
  synthetic constructor •() → self::I
    ;
  abstract method m(covariant core::int a) → core::Object?;
}
abstract class J extends core::Object implements self::H {
  synthetic constructor •() → self::J
    ;
  abstract method m(covariant core::num a) → core::Object?;
}
abstract class K extends core::Object implements self::I, self::E, self::G {
  synthetic constructor •() → self::K
    ;
  abstract forwarding-stub member-signature method m(covariant core::num a) → core::Object?;
}
abstract class L extends core::Object implements self::K {
  synthetic constructor •() → self::L
    ;
  abstract method m(covariant core::num a) → core::Object?;
}
static method main() → dynamic
  ;
