//
// Problems in component:
//
// Error: This project cannot run with sound null safety, because one or more project dependencies do not
// support null safety:
//
//  - package:opt_out_package
//
// Run 'pub outdated --mode=null-safety' to determine if versions of your
// dependencies supporting null safety are available.
//
library /*isNonNullableByDefault*/;
import self as self;

import "package:opt_in_package/opt_in_lib.dart";
import "package:opt_in_package/opt_out_lib.dart";
import "package:opt_out_package/regular_lib1.dart";
import "package:opt_out_package/regular_lib2.dart";

static method main() → dynamic {}
