// @dart = 2.9
class A<T> {
  var field1 = 0;
  var field2 = 0;
  var field3 = 0;
  var field4 = 0;
  int field5;
  int field6;
  int field7;
  int field8;
  var field9;
  T field10;
  T field11;
  T field12;
  T field13;
  T field14;
  var field15 = 0;
  int field16;
  var field17 = 0;
  int field18;
}

class B<T, S> {
  var field1 = 1;
  var field2 = '';
  var field3 = 1;
  var field4 = '';
  int field5;
  String field6;
  int field7;
  String field8;
  var field9;
  T field10;
  S field11;
  T field12;
  T field13;
  S field14;
  int field15;
  var field16 = 0;
  String field17;
  var field18 = '';
}

class C implements A<int>, B<int, String> {
  var field1;
  var field2;
  var field3 = 0;
  var field4 = 0;
  var field5;
  var field6;
  var field7 = 0;
  var field8 = 0;
  var field9;
  var field10;
  var field11;
  int field12;
  var field13 = 0;
  int field14;
  var field15;
  var field16;
  var field17;
  var field18;
  C(
      this.field1,
      this.field2,
      this.field3,
      this.field4,
      this.field5,
      this.field6,
      this.field7,
      this.field8,
      this.field9,
      this.field10,
      this.field11,
      this.field12,
      this.field13,
      this.field14,
      this.field15,
      this.field16,
      this.field17,
      this.field18);
}

class D<T> implements A<T>, B<T, T> {
  var field1;
  var field2;
  var field3 = 0;
  var field4 = 0;
  var field5;
  var field6;
  var field7 = 0;
  var field8 = 0;
  var field9;
  var field10;
  var field11;
  T field12;
  var field13 = null;
  T field14;
  var field15;
  var field16;
  var field17;
  var field18;
  D(
      this.field1,
      this.field2,
      this.field3,
      this.field4,
      this.field5,
      this.field6,
      this.field7,
      this.field8,
      this.field9,
      this.field10,
      this.field11,
      this.field12,
      this.field13,
      this.field14,
      this.field15,
      this.field16,
      this.field17,
      this.field18);
}
