import util;
import gui;
import output;
import driver;
import solver;
import std.stdio;
pragma(lib, "dfl.lib");

void main(string[] argv)
{
	bool automate = (argv.length>=2 && std.string.indexOf(argv[1],"auto")>=0);

	auto d = new Driver(stdin);
	d.addObserver!(GuardedOutput)();
	d.addObserver!(GUI!MainSolver)().run(&d.command, automate);
}
