extern "C" int BootstrapRunLibrary(int argc, const char **argv) 
#endif
{
	Simulator *lpSim = NULL;

try
{
	Simulator *lpSim = Simulator::CreateSimulator(argc, argv);

	lpSim->Load();
	lpSim->Initialize(argc, argv);
    lpSim->VisualSelectionMode(SIMULATION_SELECTION_MODE);

    lpSim->StartSimulation();
    lpSim->Simulate();

	if(lpSim) delete lpSim;

	return 0;
}
catch(CStdErrorInfo oError)
{
	if(lpSim) delete lpSim;
	printf("Error occurred: %s\n", oError.m_strError.c_str()) ;
	return (int) oError.m_lError;
}
catch(...)
{
	if(lpSim) delete lpSim;
	printf("An Unknown Error occurred.\n") ;
	return -1;
}
}