ROOT logo
//__________________________________________________[C++ CLASS IMPLEMENTATION]
//////////////////////////////////////////////////////////////////////////////
// Name:           mbssetup/src/TMbsSetup.cxx
// Purpose:        MBS setup
// Description:    Implements class methods to define a MBS setup
// Keywords:
// Author:         R. Lutter
// Mailto:         <a href=mailto:rudi.lutter@physik.uni-muenchen.de>R. Lutter</a>
// Revision:       $Id: TMbsSetup.cxx,v 1.70 2011-03-08 10:31:22 Marabou Exp $
// Date:           $Date: 2011-03-08 10:31:22 $
//
// Class TMbsSetup refers to a resource file in user's working directory
// named ".mbssetup" (if not defined otherwise).
//
//////////////////////////////////////////////////////////////////////////////

namespace std {} using namespace std;

#include <cstdlib>
#include <iostream>
#include <sstream>
#include <iomanip>
#include <fstream>

#include "Rtypes.h"
#include "TDirectory.h"
#include "TObjString.h"

#include "TMrbTemplate.h"
#include "TMrbLogger.h"
#include "TMrbSystem.h"

#include "TMbsSetup.h"

#include "SetColor.h"

extern TSystem * gSystem;
extern TMrbLogger * gMrbLog;

TMbsSetup * gMbsSetup = NULL;

ClassImp(TMbsSetup)

TMbsSetup::TMbsSetup(const Char_t * SetupFile) : TMrbEnv() {
//__________________________________________________________________[C++ CTOR]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup
// Purpose:        Define a MBS setup
// Arguments:      Char_t * SetupFile -- name of setup file
// Results:        --
// Exceptions:
// Description:    Class constructor
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	TString defaultSetupPath;
	TString setupFile;

	TString defaultSetupFile;
	Int_t nofReadouts, n;

	TString settingsFile;

	if (gMrbLog == NULL) gMrbLog = new TMrbLogger("mbssetup.log");

	if (gMbsSetup != NULL) {
		gMrbLog->Err() << "Setup already defined" << endl;
		gMrbLog->Flush(this->ClassName());
	} else {
		fLofReadouts.Delete();

		fLofSetupModes.SetName("Setup Modes");				// ... setup modes
		fLofSetupModes.AddNamedX(kMbsLofSetupModes);

		fLofProcs.SetName("Processor Types");				// ... processor types
		fLofProcs.AddNamedX(kMbsLofProcs);

		fLofControllers.SetName("Crate Controllers");		// ... crate controllers
		fLofControllers.AddNamedX(kMbsLofControllers);

		fLofTriggerModules.SetName("Trigger Module Types");	// ... trigger modules
		fLofTriggerModules.AddNamedX(kMbsLofTriggerModules);

		fLofTriggerModes.SetName("Trigger Modes");			// ... trigger modes
		fLofTriggerModes.AddNamedX(kMbsLofTriggerModes);

		fLofSetupTags.SetName("Setup Tags");				// ... setup tags
		fLofSetupTags.AddNamedX(kMbsSetupTags);

		defaultSetupPath = gEnv->GetValue("TMbsSetup.DefaultSetupPath", ".:$(MARABOU)/templates/mbssetup");

		TEnv * e = new TEnv(SetupFile);
		TList * l = (TList *) e->GetTable();
		Bool_t removeIt = kFALSE;
		if (l) {
			TIterator * envIter = l->MakeIterator();
			TEnvRec * r;
			while(r = (TEnvRec *) envIter->Next()) {
				if (r->GetLevel() != kEnvLocal) {
					gMrbLog->Wrn() << "Setup variable not local - " << r->GetName() << endl;
					gMrbLog->Flush(this->ClassName());
					removeIt = kTRUE;
				}
			}
		}
		delete e;
		if (removeIt) {
			gMrbLog->Err() << "Setup file may be in the way - " << gSystem->ConcatFileName(gSystem->HomeDirectory(), SetupFile) << " - please remove it, then start over" << endl;
			gMrbLog->Flush(this->ClassName());
			gSystem->Exit(1);
		}

		setupFile = SetupFile;
		this->Open(setupFile.Data());			// open resource file
		gSystem->ExpandPathName(defaultSetupPath);
		TMrbSystem ux;
		TString tmplFile = "mbssetup.tmpl";
		ux.Which(defaultSetupFile, defaultSetupPath.Data(), tmplFile.Data());
		if (defaultSetupFile.IsNull()) {
			gMrbLog->Err() << "No such file - " << tmplFile << " (path = " << defaultSetupPath << ")" << endl;
			gMrbLog->Flush(this->ClassName());
			gMrbLog->Err() << "No default setup given - can't do the job, sorry" << endl;
			gMrbLog->Flush(this->ClassName());
		} else {
			TString rcFile = "mbssetup.rc";
			ux.Which(settingsFile, defaultSetupPath.Data(), rcFile.Data());
			if (settingsFile.IsNull()) {
				gMrbLog->Err() << "No such file - " << rcFile << " (path = " << defaultSetupPath << ")" << endl;
				gMrbLog->Flush(this->ClassName());
				gMrbLog->Err() << "No settings file given - can't do the job, sorry" << endl;
				gMrbLog->Flush(this->ClassName());
			} else {
				gMbsSetup = this; 						// holds addr of current setup def
				gDirectory->Append(this);

				fSettings = new TEnv(settingsFile.Data());	// open settings file

				this->OpenDefaults(defaultSetupFile.Data()); // open defaults file

				this->SetPrefix("TMbsSetup");			// resource names start with "TMbsSetup"

				this->CopyDefaults("TemplatePath");		// get template path: where to get file templates from
				this->CopyDefaults("HomeDir");			// get user's home dir as seen from lynxos
				this->CopyDefaults("Path");				// get path: where to write setup files
				this->CopyDefaults("Mode");				// get setup mode: single, dual, or multi proc

				fEvtBuilder = new TMbsEvtBuilder(); 	// create an event builder

				fReadoutError = new TMbsReadoutProc(-1);	// alloc readout proc for errors

				fVerbose = gEnv->GetValue("TMbsSetup.VerboseMode", kFALSE);

				nofReadouts = this->GetNofReadouts();
				nofReadouts = 1;
				for (n = 0; n < nofReadouts; n++) fLofReadouts.Add(new TMbsReadoutProc(n));
			}
		}
	}
}

TMbsSetup::~TMbsSetup() {
//__________________________________________________________________[C++ DTOR]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup
// Purpose:        Delete a MBS setup
// Arguments:      --
// Results:        --
// Exceptions:
// Description:    Class destructor
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	fLofReadouts.Delete();		// delete objects stored in lists
	fLofProcs.Delete();
	fLofTriggerModules.Delete();
	fLofTriggerModes.Delete();
	fLofSetupTags.Delete();
	fLofControllers.Delete();
	gDirectory->RecursiveRemove(gMbsSetup);
	gMbsSetup = NULL;
}

Bool_t TMbsSetup::GetRcVal(UInt_t & RcValue, const Char_t * Resource, const Char_t * ContrlType, const Char_t * ProcType, const Char_t * Mode, const Char_t * MbsVersion, const Char_t * LynxVersion) {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::GetRcVal
// Purpose:        Get value from settings file
// Arguments:      UInt_t & RcValue        -- resulting settings value
//                 Char_t * Resource       -- resource name
//                 Char_t * ContrlType     -- type of controller
//                 Char_t * ProcType       -- type of processor
//                 Char_t * Mode           -- mode: single/multi proc, multi branch
//                 Char_t * MbsVersion     -- MBS' version
//                 Char_t * LynxVersion    -- version of lynxOs
// Results:        kTRUE/kFALSE
// Exceptions:
// Description:    Reads settings from file mbssetup.rc
//                 Format:
//                 <LynxVersion>.<MbsVersion>.<CpuType>.<ContrType>.<Resource>:	<Value>
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	RcValue = 0xaffec0c0;

	if (Resource == NULL || *Resource == '\0') {
		gMrbLog->Err() << "Resource name missing" << endl;
		gMrbLog->Flush(this->ClassName(), "GetRcVal");
		return(kFALSE);
	}

	if (LynxVersion == NULL || *LynxVersion == '\0') LynxVersion = "*";
	if (MbsVersion == NULL || *MbsVersion == '\0') MbsVersion = "*";
	if (ProcType == NULL || *ProcType == '\0') ProcType = "*";
	if (ContrlType == NULL || *ContrlType == '\0') ContrlType = "*";

	if (strcmp(ProcType, "PPC") == 0) ProcType = "RIO2";

	TList * lofSettings = (TList *) fSettings->GetTable();
	if (lofSettings->GetEntries() == 0) {
		gMrbLog->Err() << "No entries in settings table" << endl;
		gMrbLog->Flush(this->ClassName(), "GetRcVal");
		return(kFALSE);
	}

	TString res = Form("%s-%s-%s-%s-%s.%s", LynxVersion, MbsVersion, Mode, ProcType, ContrlType, Resource);
	TString valStr;
	TIterator * iter = lofSettings->MakeIterator();
	TEnvRec * r;
	while (r = (TEnvRec *) iter->Next()) {
		TRegexp w(r->GetName(), kTRUE);
		if (res.Index(w, 0) != -1) {
			valStr = r->GetValue();
			RcValue = strtoul(valStr.Data(), NULL, 0);
			return(kTRUE);
		}
	}

	gMrbLog->Err() << "No value given for resource - " << res << endl;
	gMrbLog->Flush(this->ClassName(), "GetRcVal");
	return(kFALSE);
}

void TMbsSetup::RemoveSetup() {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::RemoveSetup
// Purpose:        Remove entries from setup data base
// Arguments:      --
// Results:        --
// Exceptions:
// Description:    Remove resources "TMbsSetup.*".
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	this->Remove("*", kFALSE);	// remove entries
}

void TMbsSetup::Reset() {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::Reset
// Purpose:        Reset resources to default values
// Arguments:      --
// Results:        --
// Exceptions:
// Description:    Resets resources "TMbsSetup.*".
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	Int_t n;
	Int_t nofRdo;

	this->EvtBuilder()->Reset();
	nofRdo = this->GetDefault("NofReadouts", 0);
	for (n = 0; n < nofRdo; n++) this->ReadoutProc(n)->Reset();
	for (n = nofRdo; n < GetNofReadouts(); n++) {
		this->ReadoutProc(n)->RemoveSetup();
		fLofReadouts.RemoveAt(n);
	}
	this->CopyDefaults("NofReadouts", kTRUE, kTRUE);
	this->CopyDefaults("HomeDir", kTRUE, kTRUE);
	this->CopyDefaults("Mode", kTRUE, kTRUE);
}

TMbsReadoutProc * TMbsSetup::ReadoutProc(Int_t ReadoutId) {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::ReadoutProc
// Purpose:        Return addr of readout process
// Arguments:      Int_t ReadoutId         -- proc id
// Results:        TMbsReadoutProc * Proc  -- process
// Exceptions:
// Description:    Returns addr of readout proc defined by its id.
//                 Legal ids start with 1.
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	Int_t nprocs;

	nprocs = fLofReadouts.GetEntries();

	if (nprocs < 1) {
		gMrbLog->Err() << "No readout allocated" << endl;
		gMrbLog->Flush(this->ClassName(), "ReadoutProc");
		return(fReadoutError);
	} else if (ReadoutId < 0 || ReadoutId > nprocs) {
		gMrbLog->Err() << "Illegal proc id - " << ReadoutId << " (should be in [0," << nprocs << "])" << endl;
		gMrbLog->Flush(this->ClassName(), "ReadoutProc");
		return(fReadoutError);
	} else {
		return((TMbsReadoutProc *) fLofReadouts[ReadoutId]);
	}
}

Bool_t TMbsSetup::SetHomeDir(const Char_t * HomeDir) {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::SetHomeDir
// Purpose:        Define user's home dir
// Arguments:      Char_t * HomeDir    -- home directory
// Results:        kTRUE/kFALSE
// Exceptions:
// Description:    Sets resource "TMbsSetup.HomeDir".
//                 HomeDir is user's home directory as seen from MBS.
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	Long_t dmy;
	Long64_t dmy64;
	Long_t flags;

	if (gSystem->GetPathInfo(HomeDir, &dmy, &dmy64, &flags, &dmy) != 0 || (flags & 0x2) == 0) {
		gMrbLog->Err() << "No such directory - " << HomeDir << endl;
		gMrbLog->Flush(this->ClassName(), "SetHomeDir");
		return(kFALSE);
	}
	this->Set("HomeDir", HomeDir);
	return(kTRUE);
}

const Char_t * TMbsSetup::GetHomeDir() {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::GetHomeDir
// Purpose:        Read user's home dir
// Arguments:      --
// Results:        Char_t * HomeDir       -- home directory
// Exceptions:
// Description:    Gets resource "TMbsSetup.HomeDir".
//                 HomeDir is user's home directory as seen from MBS.
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	this->Get(fHomeDir, "HomeDir");
	return(fHomeDir.Data());
}

Bool_t TMbsSetup::SetPath(const Char_t * Path, Bool_t Create) {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::SetPath
// Purpose:        Define path where to write setup files
// Arguments:      Char_t * Path       -- path name
//                 Bool_t Create       -- kTRUE if path is to be created
// Results:        kTRUE/kFALSE
// Exceptions:
// Description:    Sets resource "TMbsSetup.Path".
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	Long_t dmy;
	Long64_t dmy64;
	Long_t flags;
	TString pathName;
	TString remoteHome;

	pathName = Path;
	if (!pathName.BeginsWith("/") && !pathName.BeginsWith("./")) {
		pathName = gMbsSetup->GetHomeDir();	// get home dir
		if (pathName.IsNull()) {
			remoteHome = this->RemoteHomeDir();
			if (remoteHome.IsNull()) {
				gMrbLog->Err() << "Can't set path \"" << Path << "\" -" << endl;
				gMrbLog->Flush(this->ClassName(), "SetPath");
				gMrbLog->Err() << "\"TMbsSetup.PPCHomeDir\" has to be set properly first" << endl;
				gMrbLog->Flush(this->ClassName(), "SetPath");
				return(kFALSE);
			} else {
				this->SetHomeDir(remoteHome.Data());
				pathName = remoteHome;
			}
		}

		pathName += "/";
		pathName += Path; 			// append current path
	}

	if (gSystem->GetPathInfo(pathName.Data(), &dmy, &dmy64, &flags, &dmy) != 0 || (flags & 0x2) == 0) {
		if (Create) {
			if (gSystem->MakeDirectory(pathName.Data()) == 0) {
				gMrbLog->Out() << "Creating directory " << pathName << endl;
				gMrbLog->Flush(this->ClassName(), "SetPath", setblue);
			} else {
				gMrbLog->Err() << "Can't create directory - " << pathName << endl;
				gMrbLog->Flush(this->ClassName(), "SetPath");
				return(kFALSE);
			}
		} else {
			gMrbLog->Err() << "No such directory - " << pathName << endl;
			gMrbLog->Flush(this->ClassName(), "SetPath");
			return(kFALSE);
		}
	}
	this->Set("Path", Path);
	return(kTRUE);
}

const Char_t * TMbsSetup::GetPath() {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::GetPath
// Purpose:        Read path where to write setup files
// Arguments:      --
// Results:        Char_t * Path       -- path name
// Exceptions:
// Description:    Gets resource "TMbsSetup.Path".
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	this->Get(fPath, "Path");
	return(fPath.Data());
}

Bool_t TMbsSetup::SetNofReadouts(Int_t NofReadouts) {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::SetNofReadouts
// Purpose:        Define number of readout procs
// Arguments:      Int_t NofReadouts    -- number of readout procs
// Results:        --
// Exceptions:
// Description:    Sets resource "TMbsSetup.NofReadouts".
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	Int_t n;
	Int_t nofRdo;
	Int_t maxReadouts;

	maxReadouts = this->Get("MaxReadouts", 0);

	if (NofReadouts > maxReadouts) {
		gMrbLog->Err() << "Too many readout procs - " << NofReadouts << " (max " << maxReadouts << " allowed)" << endl;
		gMrbLog->Flush(this->ClassName(), "SetNofReadouts");
		return(kFALSE);
	} else {
		nofRdo = this->GetNofReadouts();
		this->Set("NofReadouts", NofReadouts);
		for (n = nofRdo; n < NofReadouts; n++) fLofReadouts.Add(new TMbsReadoutProc(n));
		for (n = NofReadouts; n < nofRdo; n++) {
			ReadoutProc(n)->RemoveSetup();
			fLofReadouts.RemoveAt(n);
		}
		return(kTRUE);
	}
}

Int_t TMbsSetup::GetNofReadouts() {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::GetNofReadouts
// Purpose:        Return number of readout procs
// Arguments:      --
// Results:        Int_t NofReadouts    -- number of readout procs
// Exceptions:
// Description:    Reads resource "TMbsSetup.NofReadouts".
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	return(this->Get("NofReadouts", 0));
}

Bool_t TMbsSetup::MakeSetupFiles() {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::MakeSetupFiles
// Purpose:        Install setup files
// Arguments:      --
// Results:        kTRUE/kFALSE
// Exceptions:
// Description:    Generates setup files from templates.
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	gMrbLog->Out()	<< "Checking setup data base ..." << endl;
	gMrbLog->Flush(this->ClassName(), "MakeSetupFiles");

	if (!this->CheckSetup()) {
		gMrbLog->Err() << "Sorry, can't proceed." << endl;
		gMrbLog->Flush(this->ClassName(), "MakeSetupFiles");
		return(kFALSE);
	}

	Int_t nofReadouts = this->GetNofReadouts();
	TMrbNamedX * setupMode = this->GetMode();
	EMbsSetupMode smode = (EMbsSetupMode) (setupMode ?  setupMode->GetIndex() : 0);

	TString templatePath;
	this->Get(templatePath, "TemplatePath");
	gSystem->ExpandPathName(templatePath);

	TString templateDir = templatePath;
	if (smode == kModeSingleProc)		templateDir += "/singleproc";
	else if (smode == kModeMultiProc)	templateDir += "/multiproc";
	else if (smode == kModeMultiBranch)	templateDir += "/multibranch";
	else {
		gMrbLog->Err() << "Wrong setup mode - " << setupMode->GetName() << "(" << setupMode->GetIndex() << ")" << endl;
		gMrbLog->Flush(this->ClassName(), "MakeSetupFiles");
		return(kFALSE);
	}

	gSystem->ExpandPathName(templateDir);

	Int_t nofErrors = 0;

	TString installPath = this->GetPath();
	if (!installPath.BeginsWith("/") && !installPath.BeginsWith("./")) {
		installPath = this->GetHomeDir();
		installPath += "/";
		installPath += this->GetPath();
	}

	TString homeDir = this->GetHomeDir();
	gMrbLog->Out()	<< "Installing file(s) " << templatePath << " -> " << homeDir << " ..." << endl;
	gMrbLog->Flush(this->ClassName(), "MakeSetupFiles");
	TString fileName = ".login";
	if (this->ExpandFile(0, templatePath, fileName, homeDir, fileName)) {
		cout	<< setblue << "   ... " << fileName
				<< setblack << endl;
	} else {
		nofErrors++;
		cout	<< "   ... " << fileName
				<< setred << " (with errors)" << setblack << endl;
	}
	fileName = ".tcshrc";
	if (this->ExpandFile(0, templatePath, fileName, homeDir, fileName)) {
		cout	<< setblue << "   ... " << fileName
				<< setblack << endl;
	} else {
		nofErrors++;
		cout	<< "   ... " << fileName
				<< setred << " (with errors)" << setblack << endl;
	}

	TString srcPath = templateDir;
	gMrbLog->Out()	<< "Installing file(s) " << srcPath << " -> " << installPath << " ..." << endl;
	gMrbLog->Flush(this->ClassName(), "MakeSetupFiles");
	void * dirPtr = gSystem->OpenDirectory(srcPath.Data());
	if (dirPtr == NULL) {
		gMrbLog->Err() << gSystem->GetError() << " - " << srcPath << endl;
		gMrbLog->Flush(this->ClassName(), "MakeSetupFiles");
		nofErrors++;
	} else {
		TObjArray lofFiles;
		lofFiles.Delete();
		TMrbSystem ux;
		for (;;) {
			const Char_t * dirEntry = gSystem->GetDirEntry(dirPtr);
			if (dirEntry == NULL) break;
			fileName = Form("%s/%s", srcPath.Data(), dirEntry);
			if (ux.IsRegular(fileName.Data())) lofFiles.Add(new TObjString(dirEntry));
		}
		if (lofFiles.GetEntries() == 0) {
			gMrbLog->Err() << "No files to install from directory " << srcPath << endl;
			gMrbLog->Flush(this->ClassName(), "MakeSetupFiles");
			nofErrors++;
		} else {
			TIterator * iter = lofFiles.MakeIterator();
			TObjString * os;
			while (os = (TObjString *) iter->Next()) {
				fileName = os->String();
				if (this->ExpandFile(0, srcPath, fileName, installPath, fileName)) {
					cout	<< setblue << "   ... " << fileName
							<< setblack << endl;
				} else {
					nofErrors++;
					cout	<< "   ... " << fileName
							<< setred << " (with errors)" << setblack << endl;
				}
			}
		}
	}

	if (smode == kModeMultiProc) {
		templateDir += "/vme";
		installPath += "/";
		for (Int_t nrdo = 0; nrdo < nofReadouts; nrdo++) {
			TString destPath = installPath + this->ReadoutProc(nrdo)->GetPath();
			TString srcPath = templateDir;
			gMrbLog->Out()	<< "Installing file(s) " << srcPath << " -> " << destPath << " ..." << endl;
			gMrbLog->Flush(this->ClassName(), "MakeSetupFiles");
			void * dirPtr = gSystem->OpenDirectory(srcPath.Data());
			if (dirPtr == NULL) {
				gMrbLog->Err() << gSystem->GetError() << " - " << srcPath << endl;
				gMrbLog->Flush(this->ClassName(), "MakeSetupFiles");
				nofErrors++;
			} else {
				TObjArray lofFiles;
				lofFiles.Delete();
				TMrbSystem ux;
				for (;;) {
					const Char_t * dirEntry = gSystem->GetDirEntry(dirPtr);
					if (dirEntry == NULL) break;
					fileName = Form("%s/%s", srcPath.Data(), dirEntry);
					if (ux.IsRegular(fileName.Data()))  lofFiles.Add(new TObjString(dirEntry));
				}
				if (lofFiles.GetEntries() == 0) {
					gMrbLog->Err() << "No files to install from directory " << srcPath << endl;
					gMrbLog->Flush(this->ClassName(), "MakeSetupFiles");
					nofErrors++;
				} else {
					TIterator * iter = lofFiles.MakeIterator();
					TObjString * os;
					while (os = (TObjString *) iter->Next()) {
						fileName = os->String();
						if (this->ExpandFile(nrdo, srcPath, fileName, destPath, fileName)) {
							cout	<< setblue << "   ... " << fileName
									<< setblack << endl;
						} else {
							nofErrors++;
							cout	<< "   ... " << fileName
									<< setred << " (with errors)" << setblack << endl;
						}
					}
				}
			}
		}
	} else if (smode == kModeMultiBranch) {
		templateDir += "/vme";
		installPath += "/";
		for (Int_t nrdo = 0; nrdo < nofReadouts; nrdo++) {
			TString destPath = installPath + this->ReadoutProc(nrdo)->GetPath();
			TString srcPath = templateDir;
			gMrbLog->Out()	<< "Installing file(s) " << srcPath << " -> " << destPath << " ..." << endl;
			gMrbLog->Flush(this->ClassName(), "MakeSetupFiles");
			void * dirPtr = gSystem->OpenDirectory(srcPath.Data());
			if (dirPtr == NULL) {
				gMrbLog->Err() << gSystem->GetError() << " - " << srcPath << endl;
				gMrbLog->Flush(this->ClassName(), "MakeSetupFiles");
				nofErrors++;
			} else {
				TObjArray lofFiles;
				lofFiles.Delete();
				TMrbSystem ux;
				for (;;) {
					const Char_t * dirEntry = gSystem->GetDirEntry(dirPtr);
					if (dirEntry == NULL) break;
					fileName = Form("%s/%s", srcPath.Data(), dirEntry);
					if (ux.IsRegular(fileName.Data()))  lofFiles.Add(new TObjString(dirEntry));
				}
				if (lofFiles.GetEntries() == 0) {
					gMrbLog->Err() << "No files to install from directory " << srcPath << endl;
					gMrbLog->Flush(this->ClassName(), "MakeSetupFiles");
					nofErrors++;
				} else {
					TIterator * iter = lofFiles.MakeIterator();
					TObjString * os;
					while (os = (TObjString *) iter->Next()) {
						TString srcFile = os->String();
						TString destFile = os->String();
						destFile.ReplaceAll("NNN", Form("%d", nrdo));
						if (this->ExpandFile(nrdo, srcPath, srcFile, destPath, destFile)) {
							cout	<< setblue << "   ... " << srcFile << " -> " << destFile
									<< setblack << endl;
						} else {
							nofErrors++;
							cout	<< "   ... " << srcFile << " -> " << destFile
									<< setred << " (with errors)" << setblack << endl;
						}
					}
				}
			}
		}
	}

	TString nodelistFile = this->GetPath();
	if (!nodelistFile.BeginsWith("/") && !nodelistFile.BeginsWith("./")) {
		nodelistFile = this->GetHomeDir();
		nodelistFile += "/";
		nodelistFile += this->GetPath();
	}
	nodelistFile += "/node_list.txt";
	cout	<< this->ClassName() << "::MakeSetupFiles(): Creating node list " << nodelistFile << " ..."
			<< endl;
	if (!this->CreateNodeList(nodelistFile)) nofErrors++;

	TString rhostsFile = this->GetHomeDir();
	rhostsFile += "/.rhosts";
	cout	<< this->ClassName() << "::MakeSetupFiles(): Writing host names to file " << rhostsFile << " ..."
			<< endl;
	if (!this->WriteRhostsFile(rhostsFile)) nofErrors++;

	if (nofErrors > 0) {
		gMrbLog->Err() << "Something went wrong, files may be incomplete ..." << endl;
		gMrbLog->Flush(this->ClassName(), "MakeSetupFiles");
		return(kFALSE);
	} else {
		return(kTRUE);
	}
}

Bool_t TMbsSetup::WriteRhostsFile(TString & RhostsFile) {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::WriteRhostsFile
// Purpose:        Rewrite .rhosts in home dir
// Arguments:      TString RhostsFile   -- path to .rhosts
// Results:        kTRUE/kFALSE
// Exceptions:
// Description:    Creates a new .rhosts file containing all Lynx and Marabou
//                 hosts.
// Keywords:
//////////////////////////////////////////////////////////////////////////////


	TString templatePath = gEnv->GetValue("TMbsSetup.DefaultSetupPath", ".:$HOME:$(MARABOU)/templates/mbssetup");
	gSystem->ExpandPathName(templatePath);

	TMrbSystem ux;

	Bool_t ok = kTRUE;
	TMrbLofNamedX lofHosts;

	TString rhFile = "rhosts.rc";
	TString rhTmpl;
	ux.Which(rhTmpl, templatePath.Data(), rhFile.Data());
	if (rhTmpl.IsNull()) ok = kFALSE;

	ifstream rhin;
	if (ok) {
		rhin.open(rhTmpl.Data(), ios::in);
		if (!rhin.good()) {
			gMrbLog->Err() << gSystem->GetError() << " - " << rhTmpl << endl;
			gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
			ok = kFALSE;
		}
	}

	TString domain = "";
	if (ok) {
		if (this->IsVerbose()) {
			gMrbLog->Out() << "Reading entries from file " << rhFile << " (" << rhTmpl << ")" << endl;
			gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
		}
		TString rhLine;
		TString hname;
		TString dname;
		TString haddr;
		Int_t lineNo = 0;
		for(;;) {
			rhLine.ReadLine(rhin);
			if (rhin.eof()) break;
			lineNo++;
			rhLine = rhLine.Strip(TString::kBoth);
			if (rhLine.IsNull() || rhLine.BeginsWith("#") || rhLine.BeginsWith("//")) continue;
			TObjArray * rhArr = rhLine.Tokenize(":");
			Int_t n = rhArr->GetEntriesFast();
			if (n == 0) { delete rhArr; continue; }
			if (n > 2) {
				gMrbLog->Err() << "[" << rhFile << ", line " << lineNo << "] Wrong format - should be \"hostName [:address]\"" << endl;
				gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
				delete rhArr;
				continue;
			}
			hname = ((TObjString *) rhArr->At(0))->GetString();
			if (hname.BeginsWith(".")) {
				domain = hname(1, 1000);
				if (this->IsVerbose()) {
					gMrbLog->Out() << "Setting default domain - " << domain << endl;
					gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
				}
				delete rhArr;
				continue;
			} else if (n != 1) {
				gMrbLog->Err() << "[" << rhFile << ", line " << lineNo << "] Wrong format - should be \"domainName\" (starting with \".\")" << endl;
				gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
				delete rhArr;
				continue;
			}
			Int_t m;
			Bool_t isAddr = kFALSE;
			if (m = hname.Index(".", 0) != -1) {
				TObjArray * hArr = hname.Tokenize(".");
				TString h1 = ((TObjString *) hArr->At(0))->GetString();
				if (h1.IsDigit()) {
					isAddr = kTRUE;
				} else {
					isAddr = kFALSE;
					dname = hname(m + 1, 1000);
					dname = dname.Strip(TString::kBoth);
					hname.Resize(m);
				}
				delete hArr;
			} else {
				dname = "";
			}
			if (dname.IsNull() && !domain.IsNull()) dname = domain;

			TMrbNamedX * nx;
			if (isAddr) {
				nx = new TMrbNamedX(lineNo, hname.Data(), "");
			} else  {
				nx = new TMrbNamedX(lineNo, hname.Data(), dname.Data());
			}
			if (n == 2) {
				haddr = ((TObjString *) rhArr->At(1))->GetString();
				nx->AssignObject(new TObjString(haddr.Data()));
			}
			if (this->IsVerbose()) {
				if (!dname.IsNull()) {
					gMrbLog->Out() << "Adding to list of host names - " << hname << " (" << hname << "." << dname << ")" << endl;
				} else {
					gMrbLog->Out() << "Adding to list of host names - " << hname << endl;
				}
				gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
			}
			lofHosts.AddNamedX(nx);
			delete rhArr;
		}
		rhin.close();
	} else if (this->IsVerbose()) {
		gMrbLog->Wrn() << "No such file - " << rhFile << " (" << rhTmpl << ")" << endl;
		gMrbLog->Wrn() << "No list of hosts/ppcs present - .rhosts will contain your local defs only" << endl;
		gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
	}

	if (!gSystem->AccessPathName(RhostsFile.Data())) {
		ifstream rhin(RhostsFile.Data(), ios::in);
		if (!rhin.good()) {
			gMrbLog->Err() << gSystem->GetError() << " - " << RhostsFile << endl;
			gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
		} else {
			if (this->IsVerbose()) {
				gMrbLog->Out() << "Reading entries from file " << RhostsFile << endl;
				gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
			}
			TString rhLine;
			TString hname;
			TString dname;
			Int_t lineNo = 0;
			for (;;) {
				rhLine.ReadLine(rhin);
				if (rhin.eof()) break;
				lineNo++;
				rhLine.ReplaceAll("\t", " ");
				rhLine = rhLine.Strip(TString::kBoth);
				if (rhLine.IsNull() || rhLine.BeginsWith("#") || rhLine.BeginsWith("//")) continue;
				Int_t n = rhLine.Index(" ", 0);
				if (n != -1) rhLine.Resize(n);
				n = rhLine.Index(".", 0);
				Bool_t isAddr = kFALSE;
				if (n != -1) {
					TObjArray * hArr = rhLine.Tokenize(".");
					TString h1 = ((TObjString *) hArr->At(0))->GetString();
					if (h1.IsDigit()) {
						isAddr = kTRUE;
						hname = rhLine;
					} else {
						isAddr = kFALSE;
						hname = rhLine;
						hname.Resize(n);
						dname = rhLine(n + 1, 1000);
					}
					delete hArr;
				} else {
					hname = rhLine;
					dname = "";
				}
				if (!lofHosts.FindByName(hname.Data())) {
					if (this->IsVerbose()) {
						if (!dname.IsNull()) {
							gMrbLog->Out() << "Adding to list of host names - " << hname << " (" << hname << "." << dname << ")" << endl;
						} else {
							gMrbLog->Out() << "Adding to list of host names - " << hname << endl;
						}
						gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
					}
					if (isAddr) {
						lofHosts.AddNamedX(lineNo + 1000, hname, "");
					} else {
						lofHosts.AddNamedX(lineNo + 1000, hname, dname);
					}
				}
			}
		}
		rhin.close();
	}

	ofstream rhosts(RhostsFile, ios::out);
	if (!rhosts.good()) {
		gMrbLog->Err() << gSystem->GetError() << " - " << RhostsFile << endl;
		gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
		return(kFALSE);
	}

	TString userName = gSystem->Getenv("USER");

	TString hostName;
	ux.GetHostName(hostName);
	if (!lofHosts.FindByName(hostName.Data())) {
		if (this->IsVerbose()) {
			gMrbLog->Out() << "Adding to list of host names - " << hostName << endl;
			gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
		}
		lofHosts.AddNamedX(0, hostName.Data(), domain.Data());
	}

	TString ppcName;
	this->Get(ppcName, "EvtBuilder.Name");
	if (!lofHosts.FindByName(ppcName.Data())) {
		if (this->IsVerbose()) {
			gMrbLog->Out() << "Adding to list of host names - " << ppcName << endl;
			gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
		}
		lofHosts.AddNamedX(1, ppcName.Data(), "");
	}

	for (Int_t i = 0; i < this->GetNofReadouts(); i++) {
		TString res;
		this->Get(ppcName, this->Resource(res, "Readout", i, "Name"));
		if (!lofHosts.FindByName(ppcName.Data())) {
			if (this->IsVerbose()) {
				gMrbLog->Out() << "Adding to list of host names - " << ppcName << endl;
				gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
			}
			lofHosts.AddNamedX(2 + i, ppcName.Data(), "");
		}
	}

	TIterator * rhIter = lofHosts.MakeIterator();
	TMrbNamedX * hx;
	ok = kFALSE;
	Int_t nofHosts = 0;
	while (hx = (TMrbNamedX *) rhIter->Next()) {
		TString hname = hx->GetName();
		TString htitle = hx->GetTitle();
		if (!htitle.IsNull()) {
			hname += ".";
			hname += htitle;
		}
		if (hx->GetIndex() >= 1000) {
			TInetAddress * ia = new TInetAddress(gSystem->GetHostByName(hname.Data()));
			TString hlong = ia->GetHostName();
			TString haddr = ia->GetHostAddress();
			if (hlong.CompareTo("UnknownHost") == 0 || hlong.CompareTo("UnNamedHost") == 0 || haddr.CompareTo("0.0.0.0") == 0) {
				gMrbLog->Err() << "Can't resolve host name - " << hname << " (ignored)" << endl;
				gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
				continue;
			}

			if (!hlong.Contains(".")) {
				TString dn;
				ux.GetDomainName(dn);
				if (!dn.IsNull() && dn.CompareTo("(none)") != 0) {
					hlong += ".";
					hlong += dn;
				} else if (!domain.IsNull()) {
					hlong += ".";
					hlong += domain;
				}
			}
			if (this->IsVerbose()) {
				gMrbLog->Out() << "Resolving host " << hname << " (" << hlong << "): " << haddr << endl;
				gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
			}
			if (hlong.CompareTo(hname.Data()) != 0) rhosts << hname << " " << userName << endl;
			rhosts << hlong << " " << userName << endl;
		} else {
			if (this->IsVerbose()) {
				gMrbLog->Out() << "Adding trusted host " << hname << endl;
				gMrbLog->Flush(this->ClassName(), "WriteRhostsFile");
			}
			rhosts << hname << " " << userName << endl;
		}
		ok = kTRUE;
		nofHosts++;
	}
	rhosts.close();

	if (ok) {
		cout	<< setblue
				<< this->ClassName() << "::WriteRhostsFile(): " << nofHosts
				<< " Lynx/MARaBOU host(s) written"
				<< setblack << endl;
	}
	return(ok);
}

Bool_t TMbsSetup::CreateNodeList(TString & NodeListFile) {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::CreateNodeList
// Purpose:        Rewrite node list for MBS
// Arguments:      TString NodeListFile   -- path to node_list.txt
// Results:        kTRUE/kFALSE
// Exceptions:
// Description:    Creates file node_list.txt
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	Int_t i;
	ofstream nodeList;
	Int_t nofReadouts;

	TMrbNamedX * setupMode;
	EMbsSetupMode smode;

	nofReadouts = this->GetNofReadouts();

	nodeList.open(NodeListFile, ios::out);
	if (!nodeList.good()) {
		gMrbLog->Err() << gSystem->GetError() << " - " << NodeListFile << endl;
		gMrbLog->Flush(this->ClassName(), "CreateNodeList");
		return(kFALSE);
	}

	setupMode = this->GetMode();
	smode = (EMbsSetupMode) (setupMode ? setupMode->GetIndex() : 0);

	nodeList << this->EvtBuilder()->GetProcName() << endl;
	if (smode == kModeMultiProc) {
		for (i = 0; i < nofReadouts; i++) nodeList << this->ReadoutProc(i)->GetProcName() << endl;
	}
	nodeList.close();
	return(kTRUE);
}

Bool_t TMbsSetup::ExpandFile(Int_t ProcID, TString & TemplatePath, TString & SrcFile, TString & DestPath, TString & DestFile) {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::ExpandFile
// Purpose:        Expand setup file
// Arguments:      Int_t ProcID                 -- readout proc id
//                 TString & TemplatePath       -- where templates reside
//                 TString & SrcFile            -- template source
//                 TString & DestPath           -- destination
//                 TString & DestFile           -- where to write expanded code
// Results:        kTRUE/kFALSE
// Exceptions:
// Description:    Opens a template file and expands it.
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	Int_t nofReadouts = this->GetNofReadouts();

	TString mbsPath = this->GetPath();
	if (!mbsPath.BeginsWith("/") && !mbsPath.BeginsWith("./")) {
		mbsPath = this->GetHomeDir();
		mbsPath += "/";
		mbsPath += this->GetPath();
	}

	TMrbNamedX * setupMode = this->GetMode();
	EMbsSetupMode sModeIdx = (EMbsSetupMode) (setupMode ? setupMode->GetIndex() : 0);
	TString sMode = "*";
	TString sMode2 = "*";
	switch (sModeIdx) {
		case kModeSingleProc:	sMode = "SP"; sMode2 = "SingleProc"; break;
		case kModeMultiProc:	sMode = "MP"; sMode2 = "MultiProc"; break;
		case kModeMultiBranch:	sMode = "MB"; sMode2 = "MultiBranch"; break;
	}

	TString templateFile = TemplatePath;
	templateFile += "/";
	templateFile += SrcFile;

	TMrbTemplate stpTmpl;
	if (!stpTmpl.Open(templateFile, &fLofSetupTags)) return(kFALSE);

	TString setupFile = DestPath;
	setupFile += "/";
	setupFile += DestFile;

	ofstream stp(setupFile.Data(), ios::out);
	if (!stp.good()) {
		gMrbLog->Err() << gSystem->GetError() << " - " << setupFile << endl;
		gMrbLog->Flush(this->ClassName(), "ExpandFile");
		return(kFALSE);
	}

	Bool_t isOK = kTRUE;

	TString mbsVersion;
	this->Get(mbsVersion, "MbsVersion");
	if (mbsVersion.IsNull()) {
		gMrbLog->Err() << "MBS version not given - set TMbsSetup.MbsVersion properly" << endl;
		gMrbLog->Flush(this->ClassName(), "ExpandFile");
		return(kFALSE);
	}
	TString lynxVersion;
	this->Get(lynxVersion, "LynxVersion");
	if (lynxVersion.IsNull()) {
		gMrbLog->Err() << "Lynx version not given - set TMbsSetup.LynxVersion properly" << endl;
		gMrbLog->Flush(this->ClassName(), "ExpandFile");
		return(kFALSE);
	}

	TMrbNamedX * pType = this->ReadoutProc(ProcID)->GetType();
	TMrbNamedX * cType = this->ReadoutProc(ProcID)->GetController();
	TMrbNamedX * mType = this->ReadoutProc(ProcID)->TriggerModule()->GetType();

	for (;;) {
		TString line;
		TMrbNamedX * setupTag = stpTmpl.Next(line);
		if (stpTmpl.IsEof()) break;
		if (stpTmpl.IsError()) { isOK = kFALSE; continue; }
		if (stpTmpl.Status() & TMrbTemplate::kNoTag) {
			if (line.Index("//-") != 0) stp << line << endl;
		} else {
			Int_t tagIdx;
			switch (tagIdx = setupTag->GetIndex()) {
				case kSetAuthor:
					{
						stp << stpTmpl.Encode(line, gSystem->Getenv("USER")) << endl;
					}
					break;
				case kSetDate:
					{
						TDatime dt;
						stp << stpTmpl.Encode(line, dt.AsString()) << endl;
					}
					break;
				case kSetHostName:
					stpTmpl.InitializeCode();
					stpTmpl.Substitute("$hostName", this->EvtBuilder()->GetProcName());
					stpTmpl.WriteCode(stp);
					break;

				case kSetRdoNames:
					for (Int_t i = 0; i < nofReadouts; i++) {
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoNo", (Int_t) i);
						stpTmpl.Substitute("$rdoName", this->ReadoutProc(i)->GetProcName());
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetHostFlag:
					{
						TArrayI arrayData(16);
						for (Int_t i = 0; i < nofReadouts; i++) arrayData[i] = 1;
						for (Int_t i = nofReadouts; i < kNofRdoProcs; i++) arrayData[i] = 0;
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoFlagArr", this->EncodeArray(arrayData, kNofRdoProcs));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetSbsSetupPath:
					for (Int_t i = 0; i < nofReadouts; i++) {
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoNo", (Int_t) i);
						stpTmpl.Substitute("$rdoPath", this->ReadoutProc(i)->GetPath());
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetRdPipeBaseAddr:
					{
						TArrayI arrayData(16);
						for (Int_t i = nofReadouts; i < kNofRdoProcs; i++) arrayData[i] = 0;
						for (Int_t i = 0; i < nofReadouts; i++) {
							UInt_t pipeBase = this->ReadoutProc(i)->GetPipeBase();
							if (pipeBase == 0) {
								this->GetRcVal(pipeBase, "RdPipeBaseAddr", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
								this->ReadoutProc(i)->SetPipeBase(pipeBase);
							}
							if (pipeBase == 0) {
								gMrbLog->Err()	<< "Base addr for readout pipe (#"
												<< (i + 1) << ") is 0 (see resource \"TMbsSetup.Readout"
												<< (i + 1) << ".RdPipeBaseAddr\")" << endl;
								gMrbLog->Flush(this->ClassName(), "ExpandFile");
								isOK = kFALSE;
							} else {
								arrayData[i] = pipeBase;
							}
						}
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoPipeArr", this->EncodeArray(arrayData, kNofRdoProcs, 16));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetBuffers:
					{
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$bufSize", this->EvtBuilder()->GetBufferSize(), 16);
						stpTmpl.Substitute("$nofBufs", (Int_t) this->EvtBuilder()->GetNofBuffers());
						stpTmpl.Substitute("$nofStreams", (Int_t) this->EvtBuilder()->GetNofStreams());
						stpTmpl.WriteCode(stp);
					}
					break;

				case kStartReadout:
				case kStopReadout:
				case kReloadReadout:
					for (Int_t i = 0; i < nofReadouts; i++) {
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoProc", this->ReadoutProc(i)->GetProcName());
						stpTmpl.Substitute("$rdoPath", this->ReadoutProc(i)->GetPath());
						stpTmpl.WriteCode(stp);
					}
					break;

				case kStartEvtBuilder:
				case kStopEvtBuilder:
					stpTmpl.InitializeCode();
					stpTmpl.Substitute("$evbProc", this->EvtBuilder()->GetProcName());
					stpTmpl.Substitute("$evbPath", mbsPath);
					stpTmpl.WriteCode(stp);
					break;

				case kIrqOnOff:
					{
						stpTmpl.InitializeCode();
						TMrbNamedX * k = this->ReadoutProc(ProcID)->TriggerModule()->GetTriggerMode();
						if (k->GetIndex() == kTriggerModeLocalInterrupt) {
							stpTmpl.Substitute("$vmeconfig", "xsh \"vmeconfig -a irqon\"");
							stpTmpl.Substitute("$irqOnOff", "enable irq");
						} else {
							stpTmpl.Substitute("$vmeconfig", "xsh \"vmeconfig -c\"");
							stpTmpl.Substitute("$irqOnOff", "disable irq");
						}
						stpTmpl.WriteCode(stp);
					}
					break;

				case kStartEsone:
					if (cType->GetIndex() != kControllerNoCamac) {
						stpTmpl.InitializeCode();
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetDispRdo:
					stpTmpl.InitializeCode();
					stpTmpl.Substitute("$rdoProc", this->ReadoutProc(ProcID)->GetProcName());
					stpTmpl.WriteCode(stp);
					break;

				case kSetDispEvb:
					stpTmpl.InitializeCode();
					stpTmpl.Substitute("$evbProc", this->EvtBuilder()->GetProcName());
					stpTmpl.WriteCode(stp);
					break;

				case kSetFlushTime:
					stpTmpl.InitializeCode();
					stpTmpl.Substitute("$flushTime", (Int_t) this->EvtBuilder()->GetFlushTime());
					stpTmpl.WriteCode(stp);
					break;

				case kSetMasterType:
					{
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoIntType", (Int_t) pType->GetIndex());
						stpTmpl.Substitute("$rdoAscType", pType->GetName());
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetRemMemoryBase:
					{
						TArrayI lofCrates(kNofCrates);
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						TString res;
						UInt_t memBase = this->Get(this->Resource(res, "Readout", ProcID, "RemoteMemoryBase"), 0);
						if (memBase == 0) {
							this->GetRcVal(memBase, "RemoteMemoryBase", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "RemoteMemoryBase"), (Int_t) memBase, 16);
						}
						UInt_t memLength = this->Get(this->Resource(res, "Readout", ProcID, "RemoteMemoryLength"), 0);
						if (memLength == 0) {
							this->GetRcVal(memLength, "RemoteMemoryLength", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "RemoteMemoryLength"), (Int_t) memLength, 16);
						}
						Int_t n = this->ReadoutProc(ProcID)->GetCratesToBeRead(lofCrates);
						for (Int_t i = 0; i < n; i++) {
							Int_t crate = lofCrates[i];
							if (crate == 0) {
								arrayData[crate] = 0;
							} else {
								arrayData[crate] = memBase;
								memBase += memLength;
							}
						}
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoRemMemoryBase", this->EncodeArray(arrayData, kNofCrates, 16));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetRemMemoryOffset:
					{
						TArrayI lofCrates(kNofCrates);
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						TString res;
						UInt_t memOffs = this->Get(this->Resource(res, "Readout", ProcID, "RemoteMemoryOffset"), 0);
						if (memOffs == 0) {
							this->GetRcVal(memOffs, "RemoteMemoryOffset", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "RemoteMemoryOffset"), (Int_t) memOffs, 16);
						}
						Int_t n = this->ReadoutProc(ProcID)->GetCratesToBeRead(lofCrates);
						for (Int_t i = 0; i < n; i++) {
							Int_t crate = lofCrates[i];
							if (crate == 0) {
								arrayData[crate] = 0;
							} else {
								arrayData[crate] = memOffs;
							}
						}
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoRemMemoryOffset", this->EncodeArray(arrayData, kNofCrates, 16));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetRemMemoryLength:
					{
						TArrayI lofCrates(kNofCrates);
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						TString res;
						UInt_t memLength = this->Get(this->Resource(res, "Readout", ProcID, "RemoteMemoryLength"), 0);
						if (memLength == 0) {
							this->GetRcVal(memLength, "RemoteMemoryLength", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "RemoteMemoryLength"), (Int_t) memLength, 16);
						}
						Int_t n = this->ReadoutProc(ProcID)->GetCratesToBeRead(lofCrates);
						for (Int_t i = 0; i < n; i++) {
							Int_t crate = lofCrates[i];
							if (crate == 0) {
								arrayData[crate] = 0;
							} else {
								arrayData[crate] = memLength;
							}
						}
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoRemMemoryLength", this->EncodeArray(arrayData, kNofCrates, 16));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetRemCamacBase:
					{
						TArrayI lofCrates(kNofCrates);
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						TString res;
						UInt_t memBase = this->Get(this->Resource(res, "Readout", ProcID, "RemoteCamacBase"), 0);
						if (memBase == 0) {
							this->GetRcVal(memBase, "RemoteCamacBase", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "RemoteCamacBase"), (Int_t) memBase, 16);
						}
						UInt_t memLength = this->Get(this->Resource(res, "Readout", ProcID, "RemoteCamacLength"), 0);
						if (memLength == 0) {
							this->GetRcVal(memLength, "RemoteCamacLength", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "RemoteCamacLength"), (Int_t) memLength, 16);
						}
						Int_t n = this->ReadoutProc(ProcID)->GetCratesToBeRead(lofCrates);
						for (Int_t i = 0; i < n; i++) {
							Int_t crate = lofCrates[i];
							if (crate == 0) {
								arrayData[crate] = 0;
							} else {
								arrayData[crate] = memBase;
								memBase += memLength;
							}
						}
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoRemCamacBase", this->EncodeArray(arrayData, kNofCrates, 16));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetRemCamacLength:
					{
						TArrayI lofCrates(kNofCrates);
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						TString res;
						UInt_t memLength = this->Get(this->Resource(res, "Readout", ProcID, "RemoteCamacLength"), 0);
						if (memLength == 0) {
							this->GetRcVal(memLength, "RemoteCamacLength", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "RemoteCamacLength"), (Int_t) memLength, 16);
						}
						Int_t n = this->ReadoutProc(ProcID)->GetCratesToBeRead(lofCrates);
						for (Int_t i = 0; i < n; i++) {
							Int_t crate = lofCrates[i];
							if (crate == 0) {
								arrayData[crate] = 0;
							} else {
								arrayData[crate] = memLength;
							}
						}
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoRemCamacLength", this->EncodeArray(arrayData, kNofCrates, 16));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetRemCamacOffset:
					{
						TArrayI lofCrates(kNofCrates);
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						TString res;
						UInt_t memOffs = this->Get(this->Resource(res, "Readout", ProcID, "RemoteCamacOffset"), 0);
						if (memOffs == 0) {
							this->GetRcVal(memOffs, "RemoteCamacOffset", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "RemoteCamacOffset"), (Int_t) memOffs, 16);
						}
						Int_t n = this->ReadoutProc(ProcID)->GetCratesToBeRead(lofCrates);
						for (Int_t i = 0; i < n; i++) {
							Int_t crate = lofCrates[i];
							if (crate == 0) {
								arrayData[crate] = 0;
							} else {
								arrayData[crate] = memOffs;
							}
						}
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoRemCamacOffset", this->EncodeArray(arrayData, kNofCrates, 16));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetLocEsoneBase:
					{
						TString res;
						UInt_t memBase = this->Get(this->Resource(res, "Readout", ProcID, "LocalEsoneBase"), 0);
						if (memBase == 0) {
							this->GetRcVal(memBase, "LocalEsoneBase", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "LocalEsoneBase"), (Int_t) memBase, 16);
						}
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoLocEsoneBase", memBase, 16);
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetRemEsoneBase:
					{
						TString res;
						UInt_t memBase = this->Get(this->Resource(res, "Readout", ProcID, "RemoteCamacBase"), 0);
						if (memBase == 0) {
							this->GetRcVal(memBase, "RemoteCamacBase", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "RemoteCamacBase"), (Int_t) memBase, 16);
						}
						UInt_t memLength = this->Get(this->Resource(res, "Readout", ProcID, "RemoteCamacLength"), 0);
						if (memLength == 0) {
							this->GetRcVal(memLength, "RemoteCamacLength", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "RemoteCamacLength"), (Int_t) memLength, 16);
						}
						memBase -= memLength;
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoRemEsoneBase", memBase, 16);
						stpTmpl.Substitute("$rdoRemCamacLength", memLength, 16);
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetLocMemoryBase:
					{
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						TString res;
						UInt_t memBase = this->Get(this->Resource(res, "Readout", ProcID, "LocalMemoryBase"), 0);
						if (memBase == 0) {
							this->GetRcVal(memBase, "LocalMemoryBase", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "LocalMemoryBase"), (Int_t) memBase, 16);
						}
						arrayData[0] = memBase;
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoLocMemoryBase", this->EncodeArray(arrayData, kNofCrates, 16));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetLocMemoryLength:
					{
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						TString res;
						UInt_t memLength = this->Get(this->Resource(res, "Readout", ProcID, "LocalMemoryLength"), 0);
						if (memLength == 0) {
							this->GetRcVal(memLength, "LocalMemoryLength", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "LocalMemoryLength"), (Int_t) memLength, 16);
						}
						arrayData[0] = memLength;
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoLocMemoryLength", this->EncodeArray(arrayData, kNofCrates, 16));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetLocPipeType:
					if (mbsVersion.CompareTo("v22") != 0) {
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						TString res;
						Int_t pipeType = this->Get(this->Resource(res, "Readout", ProcID, "LocalPipeType"), -1);
						if (pipeType == -1) {
							UInt_t pty;
							this->GetRcVal(pty, "LocalPipeType", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "LocalPipeType"), (Int_t) pty, 16);
							pipeType = (Int_t) pty;
						}
						arrayData[0] = pipeType;
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoLocPipeType", this->EncodeArray(arrayData, kNofCrates, 16));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetLocPipeBase:
					{
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						TString res;
						UInt_t pipeBase = this->Get(this->Resource(res, "Readout", ProcID, "LocalPipeBase"), 0);
						if (pipeBase == 0) {
							this->GetRcVal(pipeBase, "LocalPipeBase", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "LocalPipeBase"), (Int_t) pipeBase, 16);
						}
						arrayData[0] = pipeBase;
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoLocPipeBase", this->EncodeArray(arrayData, kNofCrates, 16));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetLocPipeOffset:
					{
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						TString res;
						UInt_t pipeOffs = this->Get(this->Resource(res, "Readout", ProcID, "LocalPipeOffset"), 0);
						if (pipeOffs == 0) {
							this->GetRcVal(pipeOffs, "LocalPipeOffset", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "LocalPipeOffset"), (Int_t) pipeOffs, 16);
						}
						arrayData[0] = pipeOffs;
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoLocPipeOffset", this->EncodeArray(arrayData, kNofCrates, 16));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetLocPipeSegLength:
					{
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						TString res;
						UInt_t pipeLength = this->Get(this->Resource(res, "Readout", ProcID, "LocalPipeSegmentLength"), 0);
						if (pipeLength == 0) {
							this->GetRcVal(pipeLength, "LocalPipeSegmentLength", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "LocalPipeSegmentLength"), (Int_t) pipeLength, 16);
						}
						arrayData[0] = pipeLength;
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoLocPipeSegLength", this->EncodeArray(arrayData, kNofCrates, 16));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetLocPipeLength:
					{
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						TString res;
						UInt_t pipeLength = this->Get(this->Resource(res, "Readout", ProcID, "LocalPipeLength"), 0);
						if (pipeLength == 0) {
							this->GetRcVal(pipeLength, "LocalPipeLength", cType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
							this->Set(this->Resource(res, "Readout", ProcID, "LocalPipeLength"), (Int_t) pipeLength, 16);
						}
						arrayData[0] = pipeLength;
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoLocPipeLength", this->EncodeArray(arrayData, kNofCrates));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetSevtSize:
					{
						TArrayI lofCrates(kNofCrates);
						TArrayI arrayData(16);
						for (Int_t i = 1; i < kNofTriggers; i++) {
							for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
							Bool_t found = kFALSE;
							Int_t n = this->ReadoutProc(ProcID)->GetCratesToBeRead(lofCrates);
							Int_t sevtSize = 0;
							for (Int_t j = 0; j < n; j++) {
								Int_t crate = lofCrates[j];
								sevtSize = this->ReadoutProc(ProcID)->GetSevtSize(i);
								if (sevtSize == 0) {
									if (i == 1 || i == 14 || i == 15) sevtSize = this->ReadoutProc(ProcID)->GetSevtSize();
								}
								if (sevtSize > arrayData[crate]) {
									found = kTRUE;
									arrayData[crate] = sevtSize;
								}
							}
							arrayData[0] = sevtSize;
							if (found) {
								stpTmpl.InitializeCode();
								stpTmpl.Substitute("$trigNo", (Int_t) i);
								stpTmpl.Substitute("$sevtBufArr", this->EncodeArray(arrayData, kNofCrates, 16));
								stpTmpl.WriteCode(stp);
							}
						}
					}
					break;

				case kSetRdoFlag:
					{
						TArrayI lofCrates(kNofCrates);
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						Int_t n = this->ReadoutProc(ProcID)->GetCratesToBeRead(lofCrates);
						for (Int_t i = 0; i < n; i++) {
							Int_t crate = lofCrates[i];
							arrayData[crate] = 1;
						}
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$rdoFlagArr", this->EncodeArray(arrayData, kNofCrates));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetControllerID:
					{
						TArrayI lofCrates(kNofCrates);
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						Int_t rdoCrate = this->ReadoutProc(ProcID)->GetCrate();
						TMrbNamedX * k = this->ReadoutProc(ProcID)->GetType();
						arrayData[rdoCrate] = k->GetIndex();
						Int_t n = this->ReadoutProc(ProcID)->GetCratesToBeRead(lofCrates);
						k = this->ReadoutProc(ProcID)->GetController();
						for (Int_t j = 0; j < n; j++) {
							Int_t crate = lofCrates[j];
							if (crate != rdoCrate) arrayData[crate] = k->GetIndex();
						}
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$contrIdArr", this->EncodeArray(arrayData, kNofCrates));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetTriggerModule:
					{
						TMrbNamedX * k = this->ReadoutProc(ProcID)->TriggerModule()->GetType();
						stpTmpl.InitializeCode();
						switch (k->GetIndex()) {
							case kTriggerModuleCAMAC:
								stpTmpl.Substitute("$trigModuleComment", "TriggerModule: CAMAC / Polling");
								stpTmpl.Substitute("$trigMode", (Int_t) kTriggerModePolling);
								stpTmpl.Substitute("$trigType", (Int_t) kTriggerModuleCAMAC);
								stpTmpl.Substitute("$trigBase", "0xd0380000");
								break;
							case kTriggerModuleVME:
								k = this->ReadoutProc(ProcID)->TriggerModule()->GetTriggerMode();
								if (k->GetIndex() == kTriggerModeLocalInterrupt) {
									stpTmpl.Substitute("$trigModuleComment", "TriggerModule: VME / Local interrupt");
									stpTmpl.Substitute("$trigMode", (Int_t) kTriggerModeLocalInterrupt);
									stpTmpl.Substitute("$trigType", (Int_t) kTriggerModuleVME);
									stpTmpl.Substitute("$trigBase", "0x0");
								} else if (k->GetIndex() == kTriggerModeVsbInterrupt) {
									stpTmpl.Substitute("$trigModuleComment", "TriggerModule: VME / VSB interrupt (not implemented!!)");
									stpTmpl.Substitute("$trigMode", (Int_t) kTriggerModeVsbInterrupt);
									stpTmpl.Substitute("$trigType", 0);
									stpTmpl.Substitute("$trigBase", "0x0");
									gMrbLog->Wrn() << "Trigger mode \"VSB Interrupt\" not implemented" << endl;
									gMrbLog->Flush(this->ClassName(), "ExpandFile");
								} else {
									stpTmpl.Substitute("$trigModuleComment", "TriggerModule: VME / Polling");
									stpTmpl.Substitute("$trigMode", (Int_t) kTriggerModePolling);
									stpTmpl.Substitute("$trigType", (Int_t) kTriggerModuleVME);
									UInt_t trigBase;
									this->GetRcVal(trigBase, "TriggerModuleBase", mType->GetName(), pType->GetName(), sMode.Data(), mbsVersion.Data(), lynxVersion.Data());
									stpTmpl.Substitute("$trigBase", trigBase, 16);
								}
								break;
						}
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetTrigModStation:
					{
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						Int_t crate = this->ReadoutProc(ProcID)->GetCrate();
						arrayData[crate] = 1;
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$trigStatArr", this->EncodeArray(arrayData, kNofCrates));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetTrigModFastClear:
					{
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						Int_t crate = this->ReadoutProc(ProcID)->GetCrate();
						Int_t fct = this->ReadoutProc(ProcID)->TriggerModule()->GetFastClearTime();
						arrayData[crate] = (fct == 0) ? kMinFCT : fct;
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$trigFctArr", this->EncodeArray(arrayData, kNofCrates));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetTrigModConvTime:
					{
						TArrayI arrayData(16);
						for (Int_t crate = 0; crate < kNofCrates; crate++) arrayData[crate] = 0;
						Int_t crate = this->ReadoutProc(ProcID)->GetCrate();
						arrayData[crate] = this->ReadoutProc(ProcID)->TriggerModule()->GetConversionTime();
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$trigCvtArr", this->EncodeArray(arrayData, kNofCrates));
						stpTmpl.WriteCode(stp);
					}
					break;

				case kLoadRdoSetup:
				case kStartRdoTask:
					{
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$mbsPath", mbsPath);
						stpTmpl.Substitute("$rdoPath", this->ReadoutProc(ProcID)->GetPath());
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetIrqMode:
					{
						TMrbNamedX * k = this->ReadoutProc(ProcID)->TriggerModule()->GetTriggerMode();
						TString mode;
						if (k->GetIndex() == kTriggerModeVsbInterrupt) mode = "enable"; else mode = "disable";
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$irqMode", mode);
						stpTmpl.WriteCode(stp);
					}
					break;

				case kTestHostName:
				case kPrintBanner:
					{
						stpTmpl.InitializeCode("%B%");
						stpTmpl.Substitute("$evbName", this->EvtBuilder()->GetProcName());
						stpTmpl.Substitute("$setupMode", sMode2.Data());
						stpTmpl.Substitute("$procType", (sModeIdx == kModeSingleProc) ? "ReadoutProc & EventBuilder" : "EventBuilder (Master)");
						stpTmpl.WriteCode(stp);
						if (sModeIdx == kModeMultiProc) {
							for (Int_t i = 0; i < nofReadouts; i++) {
								stpTmpl.InitializeCode("%L%");
								stpTmpl.Substitute("$rdoName", this->ReadoutProc(i)->GetProcName());
								stpTmpl.Substitute("$procType", "Readout (Slave)");
								stpTmpl.WriteCode(stp);
							}
						}
						stpTmpl.InitializeCode("%E%");
						stpTmpl.WriteCode(stp);
					}
					break;

				case kSetVsbAddr:
					{
						stpTmpl.InitializeCode("%B%");
						stpTmpl.Substitute("$evbName", this->EvtBuilder()->GetProcName());
						stpTmpl.Substitute("$vsbAddr",this->EvtBuilder()->GetVSBAddr(), 16);
						stpTmpl.WriteCode(stp);
						if (sModeIdx == kModeMultiProc) {
							if (!gEnv->GetValue("TMbsSetup.ConfigVSB", kTRUE)) {
								gMrbLog->Err() << "TMbsSetup.ConfigVSB has to be set in a MULTIPROC environment" << endl;
								gMrbLog->Flush(this->ClassName(), "ExpandFile");
								return(kFALSE);
							}
							for (Int_t i = 0; i < nofReadouts; i++) {
								stpTmpl.InitializeCode("%L%");
								stpTmpl.Substitute("$rdoName", this->ReadoutProc(i)->GetProcName());
								stpTmpl.Substitute("$vsbAddr", this->ReadoutProc(i)->GetVSBAddr(), 16);
								stpTmpl.WriteCode(stp);
							}
						}
					}
					break;

				case kMbsLogin:
					{
						TString mbsv;
						if (mbsVersion(0) != 'v') {
							mbsv = Form("v%c%c", mbsVersion(0), mbsVersion(2));
						} else {
							mbsv = mbsVersion;
						}
						stpTmpl.InitializeCode();
						stpTmpl.Substitute("$mbsVersion", mbsv.Data());
						stpTmpl.Substitute("$lynxVersion", lynxVersion.Data());
						stpTmpl.Substitute("$marabouPath", gSystem->Getenv("MARABOU"));
						stpTmpl.WriteCode(stp);
					}
					break;
			}
		}
	}
	stp.close();
	return(isOK);
}

const Char_t * TMbsSetup::EncodeArray(TArrayI & Data, Int_t NofEntries, Int_t Base) {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::EncodeArray
// Purpose:        Fill array data in a string
// Arguments:      TArray & Data         -- data to be encoded
//                 Int_t NofEntries      -- number of data entries
//                 Int_t Base            -- base
// Results:        Char_t * ArrayString  -- string representing array data
// Exceptions:
// Description:    Produces a string "(d1, d2, ..., dN)".
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	TMrbString s;
	for (Int_t i = 0; i < NofEntries; i++) {
		if (i == 0) s = "("; else s += ",";
		switch (Base) {
			default:	Base = 10;
			case 8:
			case 16: 	s.AppendInteger(Data[i], 0, Base, kFALSE, kTRUE); break;
		}
	}
	s += ")";
	fArrayString = s;
	return(fArrayString.Data());
}

const Char_t * TMbsSetup::EncodeArray(Int_t Data, Int_t Index, Int_t NofEntries, Int_t Base) {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::EncodeArray
// Purpose:        Fill array data in a string
// Arguments:      Int_t Data            -- data to be encoded
//                 Int_t Index           -- array index
//                 Int_t NofEntries      -- number of data points
//                 Int_t Base            -- base
// Results:        Char_t * ArrayString  -- string representing array data
// Exceptions:
// Description:    Produces a string "(0, ..., d, ..., 0)".
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	Int_t data;
	TMrbString s;

	for (Int_t i = 0; i < NofEntries; i++) {
		data = (i == Index) ? Data : 0;
		if (i == 0) s = "("; else s += ",";
		switch (Base) {
			default:	Base = 10;
			case 8:
			case 16: 	s.AppendInteger(data, 0, Base, kFALSE, kTRUE); break;
		}
	}
	s += ")";
	fArrayString = s;
	return(fArrayString.Data());
}

Bool_t TMbsSetup::CheckSetup() {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::CheckSetup
// Purpose:        Consistency check
// Arguments:      --
// Results:        kTRUE/kFALSE
// Exceptions:
// Description:    Checks resource data base for its consistency.
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	Int_t n;

	TString fileList;
	Long_t dmy;
	Long64_t dmy64;
	Long_t flags;

	Int_t nofErrors = 0;

	TString remoteHome = this->RemoteHomeDir();	// get home dir via remote login
	if (remoteHome.IsNull()) {
		gMrbLog->Err() << "Can't get remote home dir via rsh - MBS host not responding" << endl;
		gMrbLog->Flush(this->ClassName(), "CheckSetup");
		nofErrors++;
	}

// TMbsSetup.TemplatePath:
	TString templatePath;
	this->Get(templatePath, "TemplatePath");
	if (templatePath.Length() == 0) {
		gMrbLog->Err() << fResourceName << " is not set" << endl;
		gMrbLog->Flush(this->ClassName(), "CheckSetup");
		nofErrors++;
	}

// TMbsSetup.HomeDir:
	TString resString = this->GetHomeDir();
	if (resString.Length() == 0) {
		if (remoteHome.IsNull()) {
			gMrbLog->Err() << fResourceName << " is not set" << endl;
			gMrbLog->Flush(this->ClassName(), "CheckSetup");
			nofErrors++;
		} else if (!this->SetHomeDir(remoteHome.Data())) nofErrors++;
	} else {
		if (!remoteHome.IsNull() && resString.CompareTo(remoteHome.Data()) != 0) {
			gMrbLog->Err() << "HomeDir is different from what is returned by remote login" << endl;
			gMrbLog->Flush(this->ClassName(), "CheckSetup");
			gMrbLog->Err() << "Current value = " << resString << " <> remote = " << remoteHome << endl;
			gMrbLog->Flush(this->ClassName(), "CheckSetup");
		}
		if (!this->SetHomeDir(resString.Data())) nofErrors++;
	}

// TMbsSetup.Path:
	resString = this->GetPath();
	if (resString.Length() == 0) {
		gMrbLog->Err() << fResourceName << " is not set" << endl;
		gMrbLog->Flush(this->ClassName(), "CheckSetup");
		nofErrors++;
	} else if (!this->SetPath(resString.Data())) nofErrors++;

// TMbsSetup.EvtBuilder.Name:
// TMbsSetup.EvtBuilder.Address:
// TMbsSetup.EvtBuilder.Type:
	resString = this->EvtBuilder()->GetProcName();
	if (resString.Length() == 0) {
		gMrbLog->Err() << fResourceName << " is not set" << endl;
		gMrbLog->Flush(this->ClassName(), "CheckSetup");
		nofErrors++;
	} else if (!this->EvtBuilder()->SetProcName(resString.Data())) nofErrors++;

// TMbsSetup.EvtBuilder.Crate:

// TMbsSetup.EvtBuilder.NofStreams:
// TMbsSetup.EvtBuilder.NofBuffers:
// TMbsSetup.EvtBuilder.BufferSize:
// TMbsSetup.EvtBuilder.VSBAddr:

// TMbsSetup.NofReadouts:
	Int_t nofReadouts;
	if ((nofReadouts = this->GetNofReadouts()) == 0) {
		gMrbLog->Err() << fResourceName << " is not set ..." << endl;
		gMrbLog->Flush(this->ClassName(), "CheckSetup");
		nofErrors++;
	} else {

		this->SetNofReadouts(nofReadouts);

		for (n = 0; n < nofReadouts; n++) {

//			TMbsSetup.ReadoutNNN.Name:
//			TMbsSetup.ReadoutNNN.Address:
//			TMbsSetup.ReadoutNNN.Type:
			resString = this->ReadoutProc(n)->GetProcName();
			if (resString.Length() == 0) {
				gMrbLog->Err() << fResourceName << " is not set" << endl;
				gMrbLog->Flush(this->ClassName(), "CheckSetup");
				nofErrors++;
			} else if (!this->ReadoutProc(n)->SetProcName(resString.Data())) nofErrors++;

// TMbsSetup.ReadoutNNN.Crate:

// TMbsSetup.ReadoutNNN.TriggerModule.Type:
			TMrbNamedX * resType = this->ReadoutProc(n)->TriggerModule()->GetType();
			if (resType == NULL) {
				gMrbLog->Err() << fResourceName << " is not set" << endl;
				gMrbLog->Flush(this->ClassName(), "CheckSetup");
				nofErrors++;
			} else if (!this->ReadoutProc(n)->TriggerModule()->SetType((EMbsTriggerModuleType) resType->GetIndex())) nofErrors++;

// TMbsSetup.ReadoutNNN.TriggerModule.Mode:
			TMrbNamedX * resMode = this->ReadoutProc(n)->TriggerModule()->GetTriggerMode();
			if (resMode == NULL) {
				gMrbLog->Err() << fResourceName << " is not set" << endl;
				gMrbLog->Flush(this->ClassName(), "CheckSetup");
				nofErrors++;
			} else if (!this->ReadoutProc(n)->TriggerModule()->SetTriggerMode((EMbsTriggerMode) resMode->GetIndex())) nofErrors++;

// TMbsSetup.ReadoutNNN.TriggerModule.ConvTime:
			Int_t cvt = this->ReadoutProc(n)->TriggerModule()->GetConversionTime();
			if (cvt == 0) {
				gMrbLog->Err() << fResourceName << " is not set" << endl;
				gMrbLog->Flush(this->ClassName(), "CheckSetup");
				nofErrors++;
			} else if (!this->ReadoutProc(n)->TriggerModule()->SetConversionTime(cvt)) nofErrors++;

// TMbsSetup.ReadoutNNN.TriggerModule.FastClearTime:
			Int_t fct = this->ReadoutProc(n)->TriggerModule()->GetFastClearTime();
			if (fct == 0) {
				gMrbLog->Err() << fResourceName << " is not set" << endl;
				gMrbLog->Flush(this->ClassName(), "CheckSetup");
				nofErrors++;
			} else if (fct >= cvt) {
				gMrbLog->Err()	<< "FastClearTime = " << fct
								<< " has to be smaller than ConversionTime = " << cvt << endl;
				gMrbLog->Flush(this->ClassName(), "CheckSetup");
				nofErrors++;
			} else if (!this->ReadoutProc(n)->TriggerModule()->SetFastClearTime(fct)) nofErrors++;

// TMbsSetup.ReadoutNNN.Controller:
			TArrayI lofCrates(kNofCrates);
			Int_t ncrates = this->ReadoutProc(n)->GetCratesToBeRead(lofCrates);
			Bool_t useCamac = kFALSE;
			for (Int_t i = 0; i < ncrates; i++) {
				if (lofCrates[i] > 0) {
					useCamac = kTRUE;
					break;
				}
			}
			if (useCamac) {
				resType = this->ReadoutProc(n)->GetController();
				if (resType == NULL) {
					gMrbLog->Err() << fResourceName << " is not set" << endl;
					gMrbLog->Flush(this->ClassName(), "CheckSetup");
					nofErrors++;
				} else if (!this->ReadoutProc(n)->SetController((EMbsControllerType) resType->GetIndex())) nofErrors++;
			} else if (!this->ReadoutProc(n)->SetController(kControllerNoCamac)) nofErrors++;

// TMbsSetup.ReadoutNNN.VSBAddr:
// TMbsSetup.ReadoutNNN.PipeBase:

// TMbsSetup.ReadoutNNN.SevtSize:
			Int_t sevtSize = this->ReadoutProc(n)->GetSevtSize();
			if (sevtSize == 0) {
				gMrbLog->Err() << fResourceName << " is not set" << endl;
				gMrbLog->Flush(this->ClassName(), "CheckSetup");
				nofErrors++;
			} else if (!this->ReadoutProc(n)->SetSevtSize(0, sevtSize)) nofErrors++;
		}
	}

	if (nofErrors == 0) {
		TString evtBuilder = this->EvtBuilder()->GetProcName();
		TString readoutProc = this->ReadoutProc(0)->GetProcName();
		if (nofReadouts == 1 && evtBuilder.CompareTo(readoutProc.Data()) == 0) {
			this->SetMode(kModeSingleProc);
		} else {
			this->SetMode(kModeMultiProc);
		}
		TMrbNamedX * setupMode = this->GetMode();
		if (setupMode != NULL) {
			cout	<< this->ClassName() << "::CheckSetup(): Setup mode is "
					<< setupMode->GetName() << "(" << setupMode->GetIndex() << ")"
					<< endl;
		}
		EMbsSetupMode smode = (EMbsSetupMode) setupMode->GetIndex();

// TMbsSetup.ReadoutNNN.Path:
		if (smode == kModeMultiProc) {
			for (n = 0; n < nofReadouts; n++) {
				resString = this->ReadoutProc(n)->GetPath();
				if (resString.Length() == 0) {
					gMrbLog->Err() << fResourceName << " is not set" << endl;
					gMrbLog->Flush(this->ClassName(), "CheckSetup");
					nofErrors++;
				} else if (!this->ReadoutProc(n)->SetPath(resString.Data(), kTRUE)) nofErrors++;
			}
		}

		this->Get(templatePath, "TemplatePath");

		if (smode == kModeSingleProc) {
			if (this->ReadoutProc(0)->TriggerModule()->GetTriggerMode()->GetIndex() == kTriggerModePolling) {
				gMrbLog->Wrn() << "You are using POLLING on triggers in a single-ppc environment - INTERRUPT mode is normally used" << endl;
				gMrbLog->Flush(this->ClassName(), "CheckSetup");
			}
			templatePath += "/singleproc";
		} else if (smode == kModeMultiBranch) {
			templatePath += "/multibranch";
		} else {
			templatePath += "/multiproc";
		}
		gSystem->ExpandPathName(templatePath);
		if (gSystem->GetPathInfo(templatePath.Data(), &dmy, &dmy64, &flags, &dmy) != 0 || (flags & 0x2) == 0) {
			gMrbLog->Err() << "No such directory - " << templatePath << endl;
			gMrbLog->Flush(this->ClassName(), "CheckSetup");
			nofErrors++;
		}

		if (setupMode->GetIndex() == kModeMultiProc) {
			templatePath += "/vme";
			if (gSystem->GetPathInfo(templatePath.Data(), &dmy, &dmy64, &flags, &dmy) != 0 || (flags & 0x2) == 0) {
				gMrbLog->Err() << "No such directory - " << templatePath << endl;
				gMrbLog->Flush(this->ClassName(), "CheckSetup");
				nofErrors++;
			}
		}
	}

	if (nofErrors > 0) {
		gMrbLog->Err() << nofErrors << " error(s) detected" << endl;
		gMrbLog->Flush(this->ClassName(), "CheckSetup");
		return(kFALSE);
	} else {
		gMrbLog->Out() << "Check done - no errors." << endl;
		gMrbLog->Flush(this->ClassName(), "", setblue);
		return(kTRUE);
	}
}

const Char_t * TMbsSetup::RemoteHomeDir() {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsEvtBuilder::RemoteHomeDir
// Purpose:        Get user's home directory as seen from MBS
// Arguments:      --
// Results:        Char_t * HomeDir    -- home directory
// Exceptions:
// Description:    Tries a "rsh <proc> pwd".
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	TString hostName;
	TString rshCmd;
	TString ppcHomeDir;
	Char_t pstr[1024];
	FILE * pwd;

	this->Get(hostName, "EvtBuilder.Address");
	if (hostName.IsNull()) {
		gMrbLog->Err() << "No event builder defined" << endl;
		gMrbLog->Flush(this->ClassName(), "RemoteHomeDir");
		fRemoteHome.Resize(0);
	} else {
		ppcHomeDir = gEnv->GetValue("TMbsSetup.PPCHomeDir", "");
		if (ppcHomeDir.IsNull()) ppcHomeDir = gEnv->GetValue("TMbsSetup.DefaultHomeDir", "");		// to be compatible with prev versions
		if (ppcHomeDir.IsNull()) {
			rshCmd = "rsh ";					// get home dir from remote login
			rshCmd += hostName;
			rshCmd += " pwd 2>&1";
			pwd = gSystem->OpenPipe(rshCmd, "r");
			while (fgets(pstr, 1024, pwd)) {
				fRemoteHome = pstr;
				fRemoteHome = fRemoteHome.Strip(TString::kTrailing, '\n');
				fRemoteHome = fRemoteHome.Strip(TString::kBoth);
				if (fRemoteHome[0] == '/') break;
			}
			gSystem->ClosePipe(pwd);
			if (fRemoteHome[0] != '/') {
				gMrbLog->Err() << "Error during \"" << rshCmd << " - " << fRemoteHome << endl;
				gMrbLog->Flush(this->ClassName(), "RemoteHomeDir");
				gMrbLog->Err() << "No home dir given (check \"TMbsSetup.HomeDir\" in .rootrc)" << endl;
				gMrbLog->Flush(this->ClassName(), "RemoteHomeDir");
				fRemoteHome.Resize(0);
			}
		} else {
			fRemoteHome = ppcHomeDir;
		}
	}
	Int_t x = fRemoteHome.Index(":", 0);
	if (x >= 0) {
		fRemoteMbsHome = fRemoteHome(x + 1, 1000);
		fRemoteHome.Resize(x);
	} else {
		fRemoteMbsHome = fRemoteHome;
	}
	return(fRemoteHome.Data());
}

Bool_t TMbsSetup::SetHomeDirFromRemote() {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::SetHomeDirFromRemote
// Purpose:        Set user's home directory as seen from MBS
// Arguments:
// Results:        kTRUE/kFALSE
// Exceptions:
// Description:    Defines resource "TMbsSetup.HomeDir".
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	TString homeDir;

	homeDir = this->RemoteHomeDir();
	if (homeDir.IsNull()) {
		gMrbLog->Err() << "No remote host - define event builder first" << endl;
		gMrbLog->Flush(this->ClassName(), "SetHomeDirFromRemote");
		return(kFALSE);
	} else {
		if (this->SetHomeDir(homeDir.Data())) {
			gMrbLog->Out() << "HomeDir set to \"" << homeDir << "\"" << endl;
			gMrbLog->Flush(this->ClassName(), "SetHomeDirFromRemote", setblue);
			return(kTRUE);
		} else {
			return(kFALSE);
		}
	}
}

Bool_t TMbsSetup::SetMode(const Char_t * Mode) {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::SetMode
// Purpose:        Define setup mode
// Arguments:      Char_t * Mode    -- setup mode
// Results:        kTRUE/kFALSE
// Exceptions:
// Description:    Defines resource "TMbsSetup.Mode".
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	TMrbNamedX * setupMode = gMbsSetup->fLofSetupModes.FindByName(Mode, TMrbLofNamedX::kFindExact | TMrbLofNamedX::kFindIgnoreCase);
	if (setupMode == NULL) {
		gMrbLog->Err() << "Wrong setup mode - " << Mode << endl;
		gMrbLog->Flush(this->ClassName(), "SetMode");
		cerr	<< this->ClassName() << "::SetMode(): Legal modes are - "
				<< endl;
		gMbsSetup->fLofSetupModes.Print(cerr, "   > ");
		return(kFALSE);
	}

	TString mode = Form("%s(%d)", setupMode->GetName(), setupMode->GetIndex());
	gMbsSetup->Set("Mode", mode.Data());
	return(kTRUE);
}

Bool_t TMbsSetup::SetMode(EMbsSetupMode Mode) {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::SetMode
// Purpose:        Define setup mode
// Arguments:      EMbsSetupMode Mode    -- setup mode
// Results:        kTRUE/kFALSE
// Exceptions:
// Description:    Defines resource "TMbsSetup.Mode".
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	TMrbNamedX * setupMode = gMbsSetup->fLofSetupModes.FindByIndex(Mode);
	if (setupMode == NULL) {
		gMrbLog->Err() << "Wrong setup mode - " << Mode << endl;
		gMrbLog->Flush(this->ClassName(), "SetMode");
		cerr	<< this->ClassName() << "::SetMode(): Legal modes are - "
				<< endl;
		gMbsSetup->fLofSetupModes.Print(cerr, "   > ");
		return(kFALSE);
	}

	TString mode = Form("%s(%d)", setupMode->GetName(), setupMode->GetIndex());
	gMbsSetup->Set("Mode", mode.Data());
	return(kTRUE);
}

TMrbNamedX * TMbsSetup::GetMode() {
//________________________________________________________________[C++ METHOD]
//////////////////////////////////////////////////////////////////////////////
// Name:           TMbsSetup::GetMode
// Purpose:        Read setup mode
// Arguments:      --
// Results:        TMrbNamedX * Mode
// Exceptions:
// Description:    Reads resource "TMbsSetup.Mode".
// Keywords:
//////////////////////////////////////////////////////////////////////////////

	TMrbNamedX * setupMode;
	TString resValue;
	Int_t n;

	this->Get(resValue, "Mode");
	if ((n = resValue.Index("(")) >= 0) resValue = resValue(0, n);
	setupMode = this->fLofSetupModes.FindByName(resValue, TMrbLofNamedX::kFindExact | TMrbLofNamedX::kFindIgnoreCase);
	return(setupMode);
}
 TMbsSetup.cxx:1
 TMbsSetup.cxx:2
 TMbsSetup.cxx:3
 TMbsSetup.cxx:4
 TMbsSetup.cxx:5
 TMbsSetup.cxx:6
 TMbsSetup.cxx:7
 TMbsSetup.cxx:8
 TMbsSetup.cxx:9
 TMbsSetup.cxx:10
 TMbsSetup.cxx:11
 TMbsSetup.cxx:12
 TMbsSetup.cxx:13
 TMbsSetup.cxx:14
 TMbsSetup.cxx:15
 TMbsSetup.cxx:16
 TMbsSetup.cxx:17
 TMbsSetup.cxx:18
 TMbsSetup.cxx:19
 TMbsSetup.cxx:20
 TMbsSetup.cxx:21
 TMbsSetup.cxx:22
 TMbsSetup.cxx:23
 TMbsSetup.cxx:24
 TMbsSetup.cxx:25
 TMbsSetup.cxx:26
 TMbsSetup.cxx:27
 TMbsSetup.cxx:28
 TMbsSetup.cxx:29
 TMbsSetup.cxx:30
 TMbsSetup.cxx:31
 TMbsSetup.cxx:32
 TMbsSetup.cxx:33
 TMbsSetup.cxx:34
 TMbsSetup.cxx:35
 TMbsSetup.cxx:36
 TMbsSetup.cxx:37
 TMbsSetup.cxx:38
 TMbsSetup.cxx:39
 TMbsSetup.cxx:40
 TMbsSetup.cxx:41
 TMbsSetup.cxx:42
 TMbsSetup.cxx:43
 TMbsSetup.cxx:44
 TMbsSetup.cxx:45
 TMbsSetup.cxx:46
 TMbsSetup.cxx:47
 TMbsSetup.cxx:48
 TMbsSetup.cxx:49
 TMbsSetup.cxx:50
 TMbsSetup.cxx:51
 TMbsSetup.cxx:52
 TMbsSetup.cxx:53
 TMbsSetup.cxx:54
 TMbsSetup.cxx:55
 TMbsSetup.cxx:56
 TMbsSetup.cxx:57
 TMbsSetup.cxx:58
 TMbsSetup.cxx:59
 TMbsSetup.cxx:60
 TMbsSetup.cxx:61
 TMbsSetup.cxx:62
 TMbsSetup.cxx:63
 TMbsSetup.cxx:64
 TMbsSetup.cxx:65
 TMbsSetup.cxx:66
 TMbsSetup.cxx:67
 TMbsSetup.cxx:68
 TMbsSetup.cxx:69
 TMbsSetup.cxx:70
 TMbsSetup.cxx:71
 TMbsSetup.cxx:72
 TMbsSetup.cxx:73
 TMbsSetup.cxx:74
 TMbsSetup.cxx:75
 TMbsSetup.cxx:76
 TMbsSetup.cxx:77
 TMbsSetup.cxx:78
 TMbsSetup.cxx:79
 TMbsSetup.cxx:80
 TMbsSetup.cxx:81
 TMbsSetup.cxx:82
 TMbsSetup.cxx:83
 TMbsSetup.cxx:84
 TMbsSetup.cxx:85
 TMbsSetup.cxx:86
 TMbsSetup.cxx:87
 TMbsSetup.cxx:88
 TMbsSetup.cxx:89
 TMbsSetup.cxx:90
 TMbsSetup.cxx:91
 TMbsSetup.cxx:92
 TMbsSetup.cxx:93
 TMbsSetup.cxx:94
 TMbsSetup.cxx:95
 TMbsSetup.cxx:96
 TMbsSetup.cxx:97
 TMbsSetup.cxx:98
 TMbsSetup.cxx:99
 TMbsSetup.cxx:100
 TMbsSetup.cxx:101
 TMbsSetup.cxx:102
 TMbsSetup.cxx:103
 TMbsSetup.cxx:104
 TMbsSetup.cxx:105
 TMbsSetup.cxx:106
 TMbsSetup.cxx:107
 TMbsSetup.cxx:108
 TMbsSetup.cxx:109
 TMbsSetup.cxx:110
 TMbsSetup.cxx:111
 TMbsSetup.cxx:112
 TMbsSetup.cxx:113
 TMbsSetup.cxx:114
 TMbsSetup.cxx:115
 TMbsSetup.cxx:116
 TMbsSetup.cxx:117
 TMbsSetup.cxx:118
 TMbsSetup.cxx:119
 TMbsSetup.cxx:120
 TMbsSetup.cxx:121
 TMbsSetup.cxx:122
 TMbsSetup.cxx:123
 TMbsSetup.cxx:124
 TMbsSetup.cxx:125
 TMbsSetup.cxx:126
 TMbsSetup.cxx:127
 TMbsSetup.cxx:128
 TMbsSetup.cxx:129
 TMbsSetup.cxx:130
 TMbsSetup.cxx:131
 TMbsSetup.cxx:132
 TMbsSetup.cxx:133
 TMbsSetup.cxx:134
 TMbsSetup.cxx:135
 TMbsSetup.cxx:136
 TMbsSetup.cxx:137
 TMbsSetup.cxx:138
 TMbsSetup.cxx:139
 TMbsSetup.cxx:140
 TMbsSetup.cxx:141
 TMbsSetup.cxx:142
 TMbsSetup.cxx:143
 TMbsSetup.cxx:144
 TMbsSetup.cxx:145
 TMbsSetup.cxx:146
 TMbsSetup.cxx:147
 TMbsSetup.cxx:148
 TMbsSetup.cxx:149
 TMbsSetup.cxx:150
 TMbsSetup.cxx:151
 TMbsSetup.cxx:152
 TMbsSetup.cxx:153
 TMbsSetup.cxx:154
 TMbsSetup.cxx:155
 TMbsSetup.cxx:156
 TMbsSetup.cxx:157
 TMbsSetup.cxx:158
 TMbsSetup.cxx:159
 TMbsSetup.cxx:160
 TMbsSetup.cxx:161
 TMbsSetup.cxx:162
 TMbsSetup.cxx:163
 TMbsSetup.cxx:164
 TMbsSetup.cxx:165
 TMbsSetup.cxx:166
 TMbsSetup.cxx:167
 TMbsSetup.cxx:168
 TMbsSetup.cxx:169
 TMbsSetup.cxx:170
 TMbsSetup.cxx:171
 TMbsSetup.cxx:172
 TMbsSetup.cxx:173
 TMbsSetup.cxx:174
 TMbsSetup.cxx:175
 TMbsSetup.cxx:176
 TMbsSetup.cxx:177
 TMbsSetup.cxx:178
 TMbsSetup.cxx:179
 TMbsSetup.cxx:180
 TMbsSetup.cxx:181
 TMbsSetup.cxx:182
 TMbsSetup.cxx:183
 TMbsSetup.cxx:184
 TMbsSetup.cxx:185
 TMbsSetup.cxx:186
 TMbsSetup.cxx:187
 TMbsSetup.cxx:188
 TMbsSetup.cxx:189
 TMbsSetup.cxx:190
 TMbsSetup.cxx:191
 TMbsSetup.cxx:192
 TMbsSetup.cxx:193
 TMbsSetup.cxx:194
 TMbsSetup.cxx:195
 TMbsSetup.cxx:196
 TMbsSetup.cxx:197
 TMbsSetup.cxx:198
 TMbsSetup.cxx:199
 TMbsSetup.cxx:200
 TMbsSetup.cxx:201
 TMbsSetup.cxx:202
 TMbsSetup.cxx:203
 TMbsSetup.cxx:204
 TMbsSetup.cxx:205
 TMbsSetup.cxx:206
 TMbsSetup.cxx:207
 TMbsSetup.cxx:208
 TMbsSetup.cxx:209
 TMbsSetup.cxx:210
 TMbsSetup.cxx:211
 TMbsSetup.cxx:212
 TMbsSetup.cxx:213
 TMbsSetup.cxx:214
 TMbsSetup.cxx:215
 TMbsSetup.cxx:216
 TMbsSetup.cxx:217
 TMbsSetup.cxx:218
 TMbsSetup.cxx:219
 TMbsSetup.cxx:220
 TMbsSetup.cxx:221
 TMbsSetup.cxx:222
 TMbsSetup.cxx:223
 TMbsSetup.cxx:224
 TMbsSetup.cxx:225
 TMbsSetup.cxx:226
 TMbsSetup.cxx:227
 TMbsSetup.cxx:228
 TMbsSetup.cxx:229
 TMbsSetup.cxx:230
 TMbsSetup.cxx:231
 TMbsSetup.cxx:232
 TMbsSetup.cxx:233
 TMbsSetup.cxx:234
 TMbsSetup.cxx:235
 TMbsSetup.cxx:236
 TMbsSetup.cxx:237
 TMbsSetup.cxx:238
 TMbsSetup.cxx:239
 TMbsSetup.cxx:240
 TMbsSetup.cxx:241
 TMbsSetup.cxx:242
 TMbsSetup.cxx:243
 TMbsSetup.cxx:244
 TMbsSetup.cxx:245
 TMbsSetup.cxx:246
 TMbsSetup.cxx:247
 TMbsSetup.cxx:248
 TMbsSetup.cxx:249
 TMbsSetup.cxx:250
 TMbsSetup.cxx:251
 TMbsSetup.cxx:252
 TMbsSetup.cxx:253
 TMbsSetup.cxx:254
 TMbsSetup.cxx:255
 TMbsSetup.cxx:256
 TMbsSetup.cxx:257
 TMbsSetup.cxx:258
 TMbsSetup.cxx:259
 TMbsSetup.cxx:260
 TMbsSetup.cxx:261
 TMbsSetup.cxx:262
 TMbsSetup.cxx:263
 TMbsSetup.cxx:264
 TMbsSetup.cxx:265
 TMbsSetup.cxx:266
 TMbsSetup.cxx:267
 TMbsSetup.cxx:268
 TMbsSetup.cxx:269
 TMbsSetup.cxx:270
 TMbsSetup.cxx:271
 TMbsSetup.cxx:272
 TMbsSetup.cxx:273
 TMbsSetup.cxx:274
 TMbsSetup.cxx:275
 TMbsSetup.cxx:276
 TMbsSetup.cxx:277
 TMbsSetup.cxx:278
 TMbsSetup.cxx:279
 TMbsSetup.cxx:280
 TMbsSetup.cxx:281
 TMbsSetup.cxx:282
 TMbsSetup.cxx:283
 TMbsSetup.cxx:284
 TMbsSetup.cxx:285
 TMbsSetup.cxx:286
 TMbsSetup.cxx:287
 TMbsSetup.cxx:288
 TMbsSetup.cxx:289
 TMbsSetup.cxx:290
 TMbsSetup.cxx:291
 TMbsSetup.cxx:292
 TMbsSetup.cxx:293
 TMbsSetup.cxx:294
 TMbsSetup.cxx:295
 TMbsSetup.cxx:296
 TMbsSetup.cxx:297
 TMbsSetup.cxx:298
 TMbsSetup.cxx:299
 TMbsSetup.cxx:300
 TMbsSetup.cxx:301
 TMbsSetup.cxx:302
 TMbsSetup.cxx:303
 TMbsSetup.cxx:304
 TMbsSetup.cxx:305
 TMbsSetup.cxx:306
 TMbsSetup.cxx:307
 TMbsSetup.cxx:308
 TMbsSetup.cxx:309
 TMbsSetup.cxx:310
 TMbsSetup.cxx:311
 TMbsSetup.cxx:312
 TMbsSetup.cxx:313
 TMbsSetup.cxx:314
 TMbsSetup.cxx:315
 TMbsSetup.cxx:316
 TMbsSetup.cxx:317
 TMbsSetup.cxx:318
 TMbsSetup.cxx:319
 TMbsSetup.cxx:320
 TMbsSetup.cxx:321
 TMbsSetup.cxx:322
 TMbsSetup.cxx:323
 TMbsSetup.cxx:324
 TMbsSetup.cxx:325
 TMbsSetup.cxx:326
 TMbsSetup.cxx:327
 TMbsSetup.cxx:328
 TMbsSetup.cxx:329
 TMbsSetup.cxx:330
 TMbsSetup.cxx:331
 TMbsSetup.cxx:332
 TMbsSetup.cxx:333
 TMbsSetup.cxx:334
 TMbsSetup.cxx:335
 TMbsSetup.cxx:336
 TMbsSetup.cxx:337
 TMbsSetup.cxx:338
 TMbsSetup.cxx:339
 TMbsSetup.cxx:340
 TMbsSetup.cxx:341
 TMbsSetup.cxx:342
 TMbsSetup.cxx:343
 TMbsSetup.cxx:344
 TMbsSetup.cxx:345
 TMbsSetup.cxx:346
 TMbsSetup.cxx:347
 TMbsSetup.cxx:348
 TMbsSetup.cxx:349
 TMbsSetup.cxx:350
 TMbsSetup.cxx:351
 TMbsSetup.cxx:352
 TMbsSetup.cxx:353
 TMbsSetup.cxx:354
 TMbsSetup.cxx:355
 TMbsSetup.cxx:356
 TMbsSetup.cxx:357
 TMbsSetup.cxx:358
 TMbsSetup.cxx:359
 TMbsSetup.cxx:360
 TMbsSetup.cxx:361
 TMbsSetup.cxx:362
 TMbsSetup.cxx:363
 TMbsSetup.cxx:364
 TMbsSetup.cxx:365
 TMbsSetup.cxx:366
 TMbsSetup.cxx:367
 TMbsSetup.cxx:368
 TMbsSetup.cxx:369
 TMbsSetup.cxx:370
 TMbsSetup.cxx:371
 TMbsSetup.cxx:372
 TMbsSetup.cxx:373
 TMbsSetup.cxx:374
 TMbsSetup.cxx:375
 TMbsSetup.cxx:376
 TMbsSetup.cxx:377
 TMbsSetup.cxx:378
 TMbsSetup.cxx:379
 TMbsSetup.cxx:380
 TMbsSetup.cxx:381
 TMbsSetup.cxx:382
 TMbsSetup.cxx:383
 TMbsSetup.cxx:384
 TMbsSetup.cxx:385
 TMbsSetup.cxx:386
 TMbsSetup.cxx:387
 TMbsSetup.cxx:388
 TMbsSetup.cxx:389
 TMbsSetup.cxx:390
 TMbsSetup.cxx:391
 TMbsSetup.cxx:392
 TMbsSetup.cxx:393
 TMbsSetup.cxx:394
 TMbsSetup.cxx:395
 TMbsSetup.cxx:396
 TMbsSetup.cxx:397
 TMbsSetup.cxx:398
 TMbsSetup.cxx:399
 TMbsSetup.cxx:400
 TMbsSetup.cxx:401
 TMbsSetup.cxx:402
 TMbsSetup.cxx:403
 TMbsSetup.cxx:404
 TMbsSetup.cxx:405
 TMbsSetup.cxx:406
 TMbsSetup.cxx:407
 TMbsSetup.cxx:408
 TMbsSetup.cxx:409
 TMbsSetup.cxx:410
 TMbsSetup.cxx:411
 TMbsSetup.cxx:412
 TMbsSetup.cxx:413
 TMbsSetup.cxx:414
 TMbsSetup.cxx:415
 TMbsSetup.cxx:416
 TMbsSetup.cxx:417
 TMbsSetup.cxx:418
 TMbsSetup.cxx:419
 TMbsSetup.cxx:420
 TMbsSetup.cxx:421
 TMbsSetup.cxx:422
 TMbsSetup.cxx:423
 TMbsSetup.cxx:424
 TMbsSetup.cxx:425
 TMbsSetup.cxx:426
 TMbsSetup.cxx:427
 TMbsSetup.cxx:428
 TMbsSetup.cxx:429
 TMbsSetup.cxx:430
 TMbsSetup.cxx:431
 TMbsSetup.cxx:432
 TMbsSetup.cxx:433
 TMbsSetup.cxx:434
 TMbsSetup.cxx:435
 TMbsSetup.cxx:436
 TMbsSetup.cxx:437
 TMbsSetup.cxx:438
 TMbsSetup.cxx:439
 TMbsSetup.cxx:440
 TMbsSetup.cxx:441
 TMbsSetup.cxx:442
 TMbsSetup.cxx:443
 TMbsSetup.cxx:444
 TMbsSetup.cxx:445
 TMbsSetup.cxx:446
 TMbsSetup.cxx:447
 TMbsSetup.cxx:448
 TMbsSetup.cxx:449
 TMbsSetup.cxx:450
 TMbsSetup.cxx:451
 TMbsSetup.cxx:452
 TMbsSetup.cxx:453
 TMbsSetup.cxx:454
 TMbsSetup.cxx:455
 TMbsSetup.cxx:456
 TMbsSetup.cxx:457
 TMbsSetup.cxx:458
 TMbsSetup.cxx:459
 TMbsSetup.cxx:460
 TMbsSetup.cxx:461
 TMbsSetup.cxx:462
 TMbsSetup.cxx:463
 TMbsSetup.cxx:464
 TMbsSetup.cxx:465
 TMbsSetup.cxx:466
 TMbsSetup.cxx:467
 TMbsSetup.cxx:468
 TMbsSetup.cxx:469
 TMbsSetup.cxx:470
 TMbsSetup.cxx:471
 TMbsSetup.cxx:472
 TMbsSetup.cxx:473
 TMbsSetup.cxx:474
 TMbsSetup.cxx:475
 TMbsSetup.cxx:476
 TMbsSetup.cxx:477
 TMbsSetup.cxx:478
 TMbsSetup.cxx:479
 TMbsSetup.cxx:480
 TMbsSetup.cxx:481
 TMbsSetup.cxx:482
 TMbsSetup.cxx:483
 TMbsSetup.cxx:484
 TMbsSetup.cxx:485
 TMbsSetup.cxx:486
 TMbsSetup.cxx:487
 TMbsSetup.cxx:488
 TMbsSetup.cxx:489
 TMbsSetup.cxx:490
 TMbsSetup.cxx:491
 TMbsSetup.cxx:492
 TMbsSetup.cxx:493
 TMbsSetup.cxx:494
 TMbsSetup.cxx:495
 TMbsSetup.cxx:496
 TMbsSetup.cxx:497
 TMbsSetup.cxx:498
 TMbsSetup.cxx:499
 TMbsSetup.cxx:500
 TMbsSetup.cxx:501
 TMbsSetup.cxx:502
 TMbsSetup.cxx:503
 TMbsSetup.cxx:504
 TMbsSetup.cxx:505
 TMbsSetup.cxx:506
 TMbsSetup.cxx:507
 TMbsSetup.cxx:508
 TMbsSetup.cxx:509
 TMbsSetup.cxx:510
 TMbsSetup.cxx:511
 TMbsSetup.cxx:512
 TMbsSetup.cxx:513
 TMbsSetup.cxx:514
 TMbsSetup.cxx:515
 TMbsSetup.cxx:516
 TMbsSetup.cxx:517
 TMbsSetup.cxx:518
 TMbsSetup.cxx:519
 TMbsSetup.cxx:520
 TMbsSetup.cxx:521
 TMbsSetup.cxx:522
 TMbsSetup.cxx:523
 TMbsSetup.cxx:524
 TMbsSetup.cxx:525
 TMbsSetup.cxx:526
 TMbsSetup.cxx:527
 TMbsSetup.cxx:528
 TMbsSetup.cxx:529
 TMbsSetup.cxx:530
 TMbsSetup.cxx:531
 TMbsSetup.cxx:532
 TMbsSetup.cxx:533
 TMbsSetup.cxx:534
 TMbsSetup.cxx:535
 TMbsSetup.cxx:536
 TMbsSetup.cxx:537
 TMbsSetup.cxx:538
 TMbsSetup.cxx:539
 TMbsSetup.cxx:540
 TMbsSetup.cxx:541
 TMbsSetup.cxx:542
 TMbsSetup.cxx:543
 TMbsSetup.cxx:544
 TMbsSetup.cxx:545
 TMbsSetup.cxx:546
 TMbsSetup.cxx:547
 TMbsSetup.cxx:548
 TMbsSetup.cxx:549
 TMbsSetup.cxx:550
 TMbsSetup.cxx:551
 TMbsSetup.cxx:552
 TMbsSetup.cxx:553
 TMbsSetup.cxx:554
 TMbsSetup.cxx:555
 TMbsSetup.cxx:556
 TMbsSetup.cxx:557
 TMbsSetup.cxx:558
 TMbsSetup.cxx:559
 TMbsSetup.cxx:560
 TMbsSetup.cxx:561
 TMbsSetup.cxx:562
 TMbsSetup.cxx:563
 TMbsSetup.cxx:564
 TMbsSetup.cxx:565
 TMbsSetup.cxx:566
 TMbsSetup.cxx:567
 TMbsSetup.cxx:568
 TMbsSetup.cxx:569
 TMbsSetup.cxx:570
 TMbsSetup.cxx:571
 TMbsSetup.cxx:572
 TMbsSetup.cxx:573
 TMbsSetup.cxx:574
 TMbsSetup.cxx:575
 TMbsSetup.cxx:576
 TMbsSetup.cxx:577
 TMbsSetup.cxx:578
 TMbsSetup.cxx:579
 TMbsSetup.cxx:580
 TMbsSetup.cxx:581
 TMbsSetup.cxx:582
 TMbsSetup.cxx:583
 TMbsSetup.cxx:584
 TMbsSetup.cxx:585
 TMbsSetup.cxx:586
 TMbsSetup.cxx:587
 TMbsSetup.cxx:588
 TMbsSetup.cxx:589
 TMbsSetup.cxx:590
 TMbsSetup.cxx:591
 TMbsSetup.cxx:592
 TMbsSetup.cxx:593
 TMbsSetup.cxx:594
 TMbsSetup.cxx:595
 TMbsSetup.cxx:596
 TMbsSetup.cxx:597
 TMbsSetup.cxx:598
 TMbsSetup.cxx:599
 TMbsSetup.cxx:600
 TMbsSetup.cxx:601
 TMbsSetup.cxx:602
 TMbsSetup.cxx:603
 TMbsSetup.cxx:604
 TMbsSetup.cxx:605
 TMbsSetup.cxx:606
 TMbsSetup.cxx:607
 TMbsSetup.cxx:608
 TMbsSetup.cxx:609
 TMbsSetup.cxx:610
 TMbsSetup.cxx:611
 TMbsSetup.cxx:612
 TMbsSetup.cxx:613
 TMbsSetup.cxx:614
 TMbsSetup.cxx:615
 TMbsSetup.cxx:616
 TMbsSetup.cxx:617
 TMbsSetup.cxx:618
 TMbsSetup.cxx:619
 TMbsSetup.cxx:620
 TMbsSetup.cxx:621
 TMbsSetup.cxx:622
 TMbsSetup.cxx:623
 TMbsSetup.cxx:624
 TMbsSetup.cxx:625
 TMbsSetup.cxx:626
 TMbsSetup.cxx:627
 TMbsSetup.cxx:628
 TMbsSetup.cxx:629
 TMbsSetup.cxx:630
 TMbsSetup.cxx:631
 TMbsSetup.cxx:632
 TMbsSetup.cxx:633
 TMbsSetup.cxx:634
 TMbsSetup.cxx:635
 TMbsSetup.cxx:636
 TMbsSetup.cxx:637
 TMbsSetup.cxx:638
 TMbsSetup.cxx:639
 TMbsSetup.cxx:640
 TMbsSetup.cxx:641
 TMbsSetup.cxx:642
 TMbsSetup.cxx:643
 TMbsSetup.cxx:644
 TMbsSetup.cxx:645
 TMbsSetup.cxx:646
 TMbsSetup.cxx:647
 TMbsSetup.cxx:648
 TMbsSetup.cxx:649
 TMbsSetup.cxx:650
 TMbsSetup.cxx:651
 TMbsSetup.cxx:652
 TMbsSetup.cxx:653
 TMbsSetup.cxx:654
 TMbsSetup.cxx:655
 TMbsSetup.cxx:656
 TMbsSetup.cxx:657
 TMbsSetup.cxx:658
 TMbsSetup.cxx:659
 TMbsSetup.cxx:660
 TMbsSetup.cxx:661
 TMbsSetup.cxx:662
 TMbsSetup.cxx:663
 TMbsSetup.cxx:664
 TMbsSetup.cxx:665
 TMbsSetup.cxx:666
 TMbsSetup.cxx:667
 TMbsSetup.cxx:668
 TMbsSetup.cxx:669
 TMbsSetup.cxx:670
 TMbsSetup.cxx:671
 TMbsSetup.cxx:672
 TMbsSetup.cxx:673
 TMbsSetup.cxx:674
 TMbsSetup.cxx:675
 TMbsSetup.cxx:676
 TMbsSetup.cxx:677
 TMbsSetup.cxx:678
 TMbsSetup.cxx:679
 TMbsSetup.cxx:680
 TMbsSetup.cxx:681
 TMbsSetup.cxx:682
 TMbsSetup.cxx:683
 TMbsSetup.cxx:684
 TMbsSetup.cxx:685
 TMbsSetup.cxx:686
 TMbsSetup.cxx:687
 TMbsSetup.cxx:688
 TMbsSetup.cxx:689
 TMbsSetup.cxx:690
 TMbsSetup.cxx:691
 TMbsSetup.cxx:692
 TMbsSetup.cxx:693
 TMbsSetup.cxx:694
 TMbsSetup.cxx:695
 TMbsSetup.cxx:696
 TMbsSetup.cxx:697
 TMbsSetup.cxx:698
 TMbsSetup.cxx:699
 TMbsSetup.cxx:700
 TMbsSetup.cxx:701
 TMbsSetup.cxx:702
 TMbsSetup.cxx:703
 TMbsSetup.cxx:704
 TMbsSetup.cxx:705
 TMbsSetup.cxx:706
 TMbsSetup.cxx:707
 TMbsSetup.cxx:708
 TMbsSetup.cxx:709
 TMbsSetup.cxx:710
 TMbsSetup.cxx:711
 TMbsSetup.cxx:712
 TMbsSetup.cxx:713
 TMbsSetup.cxx:714
 TMbsSetup.cxx:715
 TMbsSetup.cxx:716
 TMbsSetup.cxx:717
 TMbsSetup.cxx:718
 TMbsSetup.cxx:719
 TMbsSetup.cxx:720
 TMbsSetup.cxx:721
 TMbsSetup.cxx:722
 TMbsSetup.cxx:723
 TMbsSetup.cxx:724
 TMbsSetup.cxx:725
 TMbsSetup.cxx:726
 TMbsSetup.cxx:727
 TMbsSetup.cxx:728
 TMbsSetup.cxx:729
 TMbsSetup.cxx:730
 TMbsSetup.cxx:731
 TMbsSetup.cxx:732
 TMbsSetup.cxx:733
 TMbsSetup.cxx:734
 TMbsSetup.cxx:735
 TMbsSetup.cxx:736
 TMbsSetup.cxx:737
 TMbsSetup.cxx:738
 TMbsSetup.cxx:739
 TMbsSetup.cxx:740
 TMbsSetup.cxx:741
 TMbsSetup.cxx:742
 TMbsSetup.cxx:743
 TMbsSetup.cxx:744
 TMbsSetup.cxx:745
 TMbsSetup.cxx:746
 TMbsSetup.cxx:747
 TMbsSetup.cxx:748
 TMbsSetup.cxx:749
 TMbsSetup.cxx:750
 TMbsSetup.cxx:751
 TMbsSetup.cxx:752
 TMbsSetup.cxx:753
 TMbsSetup.cxx:754
 TMbsSetup.cxx:755
 TMbsSetup.cxx:756
 TMbsSetup.cxx:757
 TMbsSetup.cxx:758
 TMbsSetup.cxx:759
 TMbsSetup.cxx:760
 TMbsSetup.cxx:761
 TMbsSetup.cxx:762
 TMbsSetup.cxx:763
 TMbsSetup.cxx:764
 TMbsSetup.cxx:765
 TMbsSetup.cxx:766
 TMbsSetup.cxx:767
 TMbsSetup.cxx:768
 TMbsSetup.cxx:769
 TMbsSetup.cxx:770
 TMbsSetup.cxx:771
 TMbsSetup.cxx:772
 TMbsSetup.cxx:773
 TMbsSetup.cxx:774
 TMbsSetup.cxx:775
 TMbsSetup.cxx:776
 TMbsSetup.cxx:777
 TMbsSetup.cxx:778
 TMbsSetup.cxx:779
 TMbsSetup.cxx:780
 TMbsSetup.cxx:781
 TMbsSetup.cxx:782
 TMbsSetup.cxx:783
 TMbsSetup.cxx:784
 TMbsSetup.cxx:785
 TMbsSetup.cxx:786
 TMbsSetup.cxx:787
 TMbsSetup.cxx:788
 TMbsSetup.cxx:789
 TMbsSetup.cxx:790
 TMbsSetup.cxx:791
 TMbsSetup.cxx:792
 TMbsSetup.cxx:793
 TMbsSetup.cxx:794
 TMbsSetup.cxx:795
 TMbsSetup.cxx:796
 TMbsSetup.cxx:797
 TMbsSetup.cxx:798
 TMbsSetup.cxx:799
 TMbsSetup.cxx:800
 TMbsSetup.cxx:801
 TMbsSetup.cxx:802
 TMbsSetup.cxx:803
 TMbsSetup.cxx:804
 TMbsSetup.cxx:805
 TMbsSetup.cxx:806
 TMbsSetup.cxx:807
 TMbsSetup.cxx:808
 TMbsSetup.cxx:809
 TMbsSetup.cxx:810
 TMbsSetup.cxx:811
 TMbsSetup.cxx:812
 TMbsSetup.cxx:813
 TMbsSetup.cxx:814
 TMbsSetup.cxx:815
 TMbsSetup.cxx:816
 TMbsSetup.cxx:817
 TMbsSetup.cxx:818
 TMbsSetup.cxx:819
 TMbsSetup.cxx:820
 TMbsSetup.cxx:821
 TMbsSetup.cxx:822
 TMbsSetup.cxx:823
 TMbsSetup.cxx:824
 TMbsSetup.cxx:825
 TMbsSetup.cxx:826
 TMbsSetup.cxx:827
 TMbsSetup.cxx:828
 TMbsSetup.cxx:829
 TMbsSetup.cxx:830
 TMbsSetup.cxx:831
 TMbsSetup.cxx:832
 TMbsSetup.cxx:833
 TMbsSetup.cxx:834
 TMbsSetup.cxx:835
 TMbsSetup.cxx:836
 TMbsSetup.cxx:837
 TMbsSetup.cxx:838
 TMbsSetup.cxx:839
 TMbsSetup.cxx:840
 TMbsSetup.cxx:841
 TMbsSetup.cxx:842
 TMbsSetup.cxx:843
 TMbsSetup.cxx:844
 TMbsSetup.cxx:845
 TMbsSetup.cxx:846
 TMbsSetup.cxx:847
 TMbsSetup.cxx:848
 TMbsSetup.cxx:849
 TMbsSetup.cxx:850
 TMbsSetup.cxx:851
 TMbsSetup.cxx:852
 TMbsSetup.cxx:853
 TMbsSetup.cxx:854
 TMbsSetup.cxx:855
 TMbsSetup.cxx:856
 TMbsSetup.cxx:857
 TMbsSetup.cxx:858
 TMbsSetup.cxx:859
 TMbsSetup.cxx:860
 TMbsSetup.cxx:861
 TMbsSetup.cxx:862
 TMbsSetup.cxx:863
 TMbsSetup.cxx:864
 TMbsSetup.cxx:865
 TMbsSetup.cxx:866
 TMbsSetup.cxx:867
 TMbsSetup.cxx:868
 TMbsSetup.cxx:869
 TMbsSetup.cxx:870
 TMbsSetup.cxx:871
 TMbsSetup.cxx:872
 TMbsSetup.cxx:873
 TMbsSetup.cxx:874
 TMbsSetup.cxx:875
 TMbsSetup.cxx:876
 TMbsSetup.cxx:877
 TMbsSetup.cxx:878
 TMbsSetup.cxx:879
 TMbsSetup.cxx:880
 TMbsSetup.cxx:881
 TMbsSetup.cxx:882
 TMbsSetup.cxx:883
 TMbsSetup.cxx:884
 TMbsSetup.cxx:885
 TMbsSetup.cxx:886
 TMbsSetup.cxx:887
 TMbsSetup.cxx:888
 TMbsSetup.cxx:889
 TMbsSetup.cxx:890
 TMbsSetup.cxx:891
 TMbsSetup.cxx:892
 TMbsSetup.cxx:893
 TMbsSetup.cxx:894
 TMbsSetup.cxx:895
 TMbsSetup.cxx:896
 TMbsSetup.cxx:897
 TMbsSetup.cxx:898
 TMbsSetup.cxx:899
 TMbsSetup.cxx:900
 TMbsSetup.cxx:901
 TMbsSetup.cxx:902
 TMbsSetup.cxx:903
 TMbsSetup.cxx:904
 TMbsSetup.cxx:905
 TMbsSetup.cxx:906
 TMbsSetup.cxx:907
 TMbsSetup.cxx:908
 TMbsSetup.cxx:909
 TMbsSetup.cxx:910
 TMbsSetup.cxx:911
 TMbsSetup.cxx:912
 TMbsSetup.cxx:913
 TMbsSetup.cxx:914
 TMbsSetup.cxx:915
 TMbsSetup.cxx:916
 TMbsSetup.cxx:917
 TMbsSetup.cxx:918
 TMbsSetup.cxx:919
 TMbsSetup.cxx:920
 TMbsSetup.cxx:921
 TMbsSetup.cxx:922
 TMbsSetup.cxx:923
 TMbsSetup.cxx:924
 TMbsSetup.cxx:925
 TMbsSetup.cxx:926
 TMbsSetup.cxx:927
 TMbsSetup.cxx:928
 TMbsSetup.cxx:929
 TMbsSetup.cxx:930
 TMbsSetup.cxx:931
 TMbsSetup.cxx:932
 TMbsSetup.cxx:933
 TMbsSetup.cxx:934
 TMbsSetup.cxx:935
 TMbsSetup.cxx:936
 TMbsSetup.cxx:937
 TMbsSetup.cxx:938
 TMbsSetup.cxx:939
 TMbsSetup.cxx:940
 TMbsSetup.cxx:941
 TMbsSetup.cxx:942
 TMbsSetup.cxx:943
 TMbsSetup.cxx:944
 TMbsSetup.cxx:945
 TMbsSetup.cxx:946
 TMbsSetup.cxx:947
 TMbsSetup.cxx:948
 TMbsSetup.cxx:949
 TMbsSetup.cxx:950
 TMbsSetup.cxx:951
 TMbsSetup.cxx:952
 TMbsSetup.cxx:953
 TMbsSetup.cxx:954
 TMbsSetup.cxx:955
 TMbsSetup.cxx:956
 TMbsSetup.cxx:957
 TMbsSetup.cxx:958
 TMbsSetup.cxx:959
 TMbsSetup.cxx:960
 TMbsSetup.cxx:961
 TMbsSetup.cxx:962
 TMbsSetup.cxx:963
 TMbsSetup.cxx:964
 TMbsSetup.cxx:965
 TMbsSetup.cxx:966
 TMbsSetup.cxx:967
 TMbsSetup.cxx:968
 TMbsSetup.cxx:969
 TMbsSetup.cxx:970
 TMbsSetup.cxx:971
 TMbsSetup.cxx:972
 TMbsSetup.cxx:973
 TMbsSetup.cxx:974
 TMbsSetup.cxx:975
 TMbsSetup.cxx:976
 TMbsSetup.cxx:977
 TMbsSetup.cxx:978
 TMbsSetup.cxx:979
 TMbsSetup.cxx:980
 TMbsSetup.cxx:981
 TMbsSetup.cxx:982
 TMbsSetup.cxx:983
 TMbsSetup.cxx:984
 TMbsSetup.cxx:985
 TMbsSetup.cxx:986
 TMbsSetup.cxx:987
 TMbsSetup.cxx:988
 TMbsSetup.cxx:989
 TMbsSetup.cxx:990
 TMbsSetup.cxx:991
 TMbsSetup.cxx:992
 TMbsSetup.cxx:993
 TMbsSetup.cxx:994
 TMbsSetup.cxx:995
 TMbsSetup.cxx:996
 TMbsSetup.cxx:997
 TMbsSetup.cxx:998
 TMbsSetup.cxx:999
 TMbsSetup.cxx:1000
 TMbsSetup.cxx:1001
 TMbsSetup.cxx:1002
 TMbsSetup.cxx:1003
 TMbsSetup.cxx:1004
 TMbsSetup.cxx:1005
 TMbsSetup.cxx:1006
 TMbsSetup.cxx:1007
 TMbsSetup.cxx:1008
 TMbsSetup.cxx:1009
 TMbsSetup.cxx:1010
 TMbsSetup.cxx:1011
 TMbsSetup.cxx:1012
 TMbsSetup.cxx:1013
 TMbsSetup.cxx:1014
 TMbsSetup.cxx:1015
 TMbsSetup.cxx:1016
 TMbsSetup.cxx:1017
 TMbsSetup.cxx:1018
 TMbsSetup.cxx:1019
 TMbsSetup.cxx:1020
 TMbsSetup.cxx:1021
 TMbsSetup.cxx:1022
 TMbsSetup.cxx:1023
 TMbsSetup.cxx:1024
 TMbsSetup.cxx:1025
 TMbsSetup.cxx:1026
 TMbsSetup.cxx:1027
 TMbsSetup.cxx:1028
 TMbsSetup.cxx:1029
 TMbsSetup.cxx:1030
 TMbsSetup.cxx:1031
 TMbsSetup.cxx:1032
 TMbsSetup.cxx:1033
 TMbsSetup.cxx:1034
 TMbsSetup.cxx:1035
 TMbsSetup.cxx:1036
 TMbsSetup.cxx:1037
 TMbsSetup.cxx:1038
 TMbsSetup.cxx:1039
 TMbsSetup.cxx:1040
 TMbsSetup.cxx:1041
 TMbsSetup.cxx:1042
 TMbsSetup.cxx:1043
 TMbsSetup.cxx:1044
 TMbsSetup.cxx:1045
 TMbsSetup.cxx:1046
 TMbsSetup.cxx:1047
 TMbsSetup.cxx:1048
 TMbsSetup.cxx:1049
 TMbsSetup.cxx:1050
 TMbsSetup.cxx:1051
 TMbsSetup.cxx:1052
 TMbsSetup.cxx:1053
 TMbsSetup.cxx:1054
 TMbsSetup.cxx:1055
 TMbsSetup.cxx:1056
 TMbsSetup.cxx:1057
 TMbsSetup.cxx:1058
 TMbsSetup.cxx:1059
 TMbsSetup.cxx:1060
 TMbsSetup.cxx:1061
 TMbsSetup.cxx:1062
 TMbsSetup.cxx:1063
 TMbsSetup.cxx:1064
 TMbsSetup.cxx:1065
 TMbsSetup.cxx:1066
 TMbsSetup.cxx:1067
 TMbsSetup.cxx:1068
 TMbsSetup.cxx:1069
 TMbsSetup.cxx:1070
 TMbsSetup.cxx:1071
 TMbsSetup.cxx:1072
 TMbsSetup.cxx:1073
 TMbsSetup.cxx:1074
 TMbsSetup.cxx:1075
 TMbsSetup.cxx:1076
 TMbsSetup.cxx:1077
 TMbsSetup.cxx:1078
 TMbsSetup.cxx:1079
 TMbsSetup.cxx:1080
 TMbsSetup.cxx:1081
 TMbsSetup.cxx:1082
 TMbsSetup.cxx:1083
 TMbsSetup.cxx:1084
 TMbsSetup.cxx:1085
 TMbsSetup.cxx:1086
 TMbsSetup.cxx:1087
 TMbsSetup.cxx:1088
 TMbsSetup.cxx:1089
 TMbsSetup.cxx:1090
 TMbsSetup.cxx:1091
 TMbsSetup.cxx:1092
 TMbsSetup.cxx:1093
 TMbsSetup.cxx:1094
 TMbsSetup.cxx:1095
 TMbsSetup.cxx:1096
 TMbsSetup.cxx:1097
 TMbsSetup.cxx:1098
 TMbsSetup.cxx:1099
 TMbsSetup.cxx:1100
 TMbsSetup.cxx:1101
 TMbsSetup.cxx:1102
 TMbsSetup.cxx:1103
 TMbsSetup.cxx:1104
 TMbsSetup.cxx:1105
 TMbsSetup.cxx:1106
 TMbsSetup.cxx:1107
 TMbsSetup.cxx:1108
 TMbsSetup.cxx:1109
 TMbsSetup.cxx:1110
 TMbsSetup.cxx:1111
 TMbsSetup.cxx:1112
 TMbsSetup.cxx:1113
 TMbsSetup.cxx:1114
 TMbsSetup.cxx:1115
 TMbsSetup.cxx:1116
 TMbsSetup.cxx:1117
 TMbsSetup.cxx:1118
 TMbsSetup.cxx:1119
 TMbsSetup.cxx:1120
 TMbsSetup.cxx:1121
 TMbsSetup.cxx:1122
 TMbsSetup.cxx:1123
 TMbsSetup.cxx:1124
 TMbsSetup.cxx:1125
 TMbsSetup.cxx:1126
 TMbsSetup.cxx:1127
 TMbsSetup.cxx:1128
 TMbsSetup.cxx:1129
 TMbsSetup.cxx:1130
 TMbsSetup.cxx:1131
 TMbsSetup.cxx:1132
 TMbsSetup.cxx:1133
 TMbsSetup.cxx:1134
 TMbsSetup.cxx:1135
 TMbsSetup.cxx:1136
 TMbsSetup.cxx:1137
 TMbsSetup.cxx:1138
 TMbsSetup.cxx:1139
 TMbsSetup.cxx:1140
 TMbsSetup.cxx:1141
 TMbsSetup.cxx:1142
 TMbsSetup.cxx:1143
 TMbsSetup.cxx:1144
 TMbsSetup.cxx:1145
 TMbsSetup.cxx:1146
 TMbsSetup.cxx:1147
 TMbsSetup.cxx:1148
 TMbsSetup.cxx:1149
 TMbsSetup.cxx:1150
 TMbsSetup.cxx:1151
 TMbsSetup.cxx:1152
 TMbsSetup.cxx:1153
 TMbsSetup.cxx:1154
 TMbsSetup.cxx:1155
 TMbsSetup.cxx:1156
 TMbsSetup.cxx:1157
 TMbsSetup.cxx:1158
 TMbsSetup.cxx:1159
 TMbsSetup.cxx:1160
 TMbsSetup.cxx:1161
 TMbsSetup.cxx:1162
 TMbsSetup.cxx:1163
 TMbsSetup.cxx:1164
 TMbsSetup.cxx:1165
 TMbsSetup.cxx:1166
 TMbsSetup.cxx:1167
 TMbsSetup.cxx:1168
 TMbsSetup.cxx:1169
 TMbsSetup.cxx:1170
 TMbsSetup.cxx:1171
 TMbsSetup.cxx:1172
 TMbsSetup.cxx:1173
 TMbsSetup.cxx:1174
 TMbsSetup.cxx:1175
 TMbsSetup.cxx:1176
 TMbsSetup.cxx:1177
 TMbsSetup.cxx:1178
 TMbsSetup.cxx:1179
 TMbsSetup.cxx:1180
 TMbsSetup.cxx:1181
 TMbsSetup.cxx:1182
 TMbsSetup.cxx:1183
 TMbsSetup.cxx:1184
 TMbsSetup.cxx:1185
 TMbsSetup.cxx:1186
 TMbsSetup.cxx:1187
 TMbsSetup.cxx:1188
 TMbsSetup.cxx:1189
 TMbsSetup.cxx:1190
 TMbsSetup.cxx:1191
 TMbsSetup.cxx:1192
 TMbsSetup.cxx:1193
 TMbsSetup.cxx:1194
 TMbsSetup.cxx:1195
 TMbsSetup.cxx:1196
 TMbsSetup.cxx:1197
 TMbsSetup.cxx:1198
 TMbsSetup.cxx:1199
 TMbsSetup.cxx:1200
 TMbsSetup.cxx:1201
 TMbsSetup.cxx:1202
 TMbsSetup.cxx:1203
 TMbsSetup.cxx:1204
 TMbsSetup.cxx:1205
 TMbsSetup.cxx:1206
 TMbsSetup.cxx:1207
 TMbsSetup.cxx:1208
 TMbsSetup.cxx:1209
 TMbsSetup.cxx:1210
 TMbsSetup.cxx:1211
 TMbsSetup.cxx:1212
 TMbsSetup.cxx:1213
 TMbsSetup.cxx:1214
 TMbsSetup.cxx:1215
 TMbsSetup.cxx:1216
 TMbsSetup.cxx:1217
 TMbsSetup.cxx:1218
 TMbsSetup.cxx:1219
 TMbsSetup.cxx:1220
 TMbsSetup.cxx:1221
 TMbsSetup.cxx:1222
 TMbsSetup.cxx:1223
 TMbsSetup.cxx:1224
 TMbsSetup.cxx:1225
 TMbsSetup.cxx:1226
 TMbsSetup.cxx:1227
 TMbsSetup.cxx:1228
 TMbsSetup.cxx:1229
 TMbsSetup.cxx:1230
 TMbsSetup.cxx:1231
 TMbsSetup.cxx:1232
 TMbsSetup.cxx:1233
 TMbsSetup.cxx:1234
 TMbsSetup.cxx:1235
 TMbsSetup.cxx:1236
 TMbsSetup.cxx:1237
 TMbsSetup.cxx:1238
 TMbsSetup.cxx:1239
 TMbsSetup.cxx:1240
 TMbsSetup.cxx:1241
 TMbsSetup.cxx:1242
 TMbsSetup.cxx:1243
 TMbsSetup.cxx:1244
 TMbsSetup.cxx:1245
 TMbsSetup.cxx:1246
 TMbsSetup.cxx:1247
 TMbsSetup.cxx:1248
 TMbsSetup.cxx:1249
 TMbsSetup.cxx:1250
 TMbsSetup.cxx:1251
 TMbsSetup.cxx:1252
 TMbsSetup.cxx:1253
 TMbsSetup.cxx:1254
 TMbsSetup.cxx:1255
 TMbsSetup.cxx:1256
 TMbsSetup.cxx:1257
 TMbsSetup.cxx:1258
 TMbsSetup.cxx:1259
 TMbsSetup.cxx:1260
 TMbsSetup.cxx:1261
 TMbsSetup.cxx:1262
 TMbsSetup.cxx:1263
 TMbsSetup.cxx:1264
 TMbsSetup.cxx:1265
 TMbsSetup.cxx:1266
 TMbsSetup.cxx:1267
 TMbsSetup.cxx:1268
 TMbsSetup.cxx:1269
 TMbsSetup.cxx:1270
 TMbsSetup.cxx:1271
 TMbsSetup.cxx:1272
 TMbsSetup.cxx:1273
 TMbsSetup.cxx:1274
 TMbsSetup.cxx:1275
 TMbsSetup.cxx:1276
 TMbsSetup.cxx:1277
 TMbsSetup.cxx:1278
 TMbsSetup.cxx:1279
 TMbsSetup.cxx:1280
 TMbsSetup.cxx:1281
 TMbsSetup.cxx:1282
 TMbsSetup.cxx:1283
 TMbsSetup.cxx:1284
 TMbsSetup.cxx:1285
 TMbsSetup.cxx:1286
 TMbsSetup.cxx:1287
 TMbsSetup.cxx:1288
 TMbsSetup.cxx:1289
 TMbsSetup.cxx:1290
 TMbsSetup.cxx:1291
 TMbsSetup.cxx:1292
 TMbsSetup.cxx:1293
 TMbsSetup.cxx:1294
 TMbsSetup.cxx:1295
 TMbsSetup.cxx:1296
 TMbsSetup.cxx:1297
 TMbsSetup.cxx:1298
 TMbsSetup.cxx:1299
 TMbsSetup.cxx:1300
 TMbsSetup.cxx:1301
 TMbsSetup.cxx:1302
 TMbsSetup.cxx:1303
 TMbsSetup.cxx:1304
 TMbsSetup.cxx:1305
 TMbsSetup.cxx:1306
 TMbsSetup.cxx:1307
 TMbsSetup.cxx:1308
 TMbsSetup.cxx:1309
 TMbsSetup.cxx:1310
 TMbsSetup.cxx:1311
 TMbsSetup.cxx:1312
 TMbsSetup.cxx:1313
 TMbsSetup.cxx:1314
 TMbsSetup.cxx:1315
 TMbsSetup.cxx:1316
 TMbsSetup.cxx:1317
 TMbsSetup.cxx:1318
 TMbsSetup.cxx:1319
 TMbsSetup.cxx:1320
 TMbsSetup.cxx:1321
 TMbsSetup.cxx:1322
 TMbsSetup.cxx:1323
 TMbsSetup.cxx:1324
 TMbsSetup.cxx:1325
 TMbsSetup.cxx:1326
 TMbsSetup.cxx:1327
 TMbsSetup.cxx:1328
 TMbsSetup.cxx:1329
 TMbsSetup.cxx:1330
 TMbsSetup.cxx:1331
 TMbsSetup.cxx:1332
 TMbsSetup.cxx:1333
 TMbsSetup.cxx:1334
 TMbsSetup.cxx:1335
 TMbsSetup.cxx:1336
 TMbsSetup.cxx:1337
 TMbsSetup.cxx:1338
 TMbsSetup.cxx:1339
 TMbsSetup.cxx:1340
 TMbsSetup.cxx:1341
 TMbsSetup.cxx:1342
 TMbsSetup.cxx:1343
 TMbsSetup.cxx:1344
 TMbsSetup.cxx:1345
 TMbsSetup.cxx:1346
 TMbsSetup.cxx:1347
 TMbsSetup.cxx:1348
 TMbsSetup.cxx:1349
 TMbsSetup.cxx:1350
 TMbsSetup.cxx:1351
 TMbsSetup.cxx:1352
 TMbsSetup.cxx:1353
 TMbsSetup.cxx:1354
 TMbsSetup.cxx:1355
 TMbsSetup.cxx:1356
 TMbsSetup.cxx:1357
 TMbsSetup.cxx:1358
 TMbsSetup.cxx:1359
 TMbsSetup.cxx:1360
 TMbsSetup.cxx:1361
 TMbsSetup.cxx:1362
 TMbsSetup.cxx:1363
 TMbsSetup.cxx:1364
 TMbsSetup.cxx:1365
 TMbsSetup.cxx:1366
 TMbsSetup.cxx:1367
 TMbsSetup.cxx:1368
 TMbsSetup.cxx:1369
 TMbsSetup.cxx:1370
 TMbsSetup.cxx:1371
 TMbsSetup.cxx:1372
 TMbsSetup.cxx:1373
 TMbsSetup.cxx:1374
 TMbsSetup.cxx:1375
 TMbsSetup.cxx:1376
 TMbsSetup.cxx:1377
 TMbsSetup.cxx:1378
 TMbsSetup.cxx:1379
 TMbsSetup.cxx:1380
 TMbsSetup.cxx:1381
 TMbsSetup.cxx:1382
 TMbsSetup.cxx:1383
 TMbsSetup.cxx:1384
 TMbsSetup.cxx:1385
 TMbsSetup.cxx:1386
 TMbsSetup.cxx:1387
 TMbsSetup.cxx:1388
 TMbsSetup.cxx:1389
 TMbsSetup.cxx:1390
 TMbsSetup.cxx:1391
 TMbsSetup.cxx:1392
 TMbsSetup.cxx:1393
 TMbsSetup.cxx:1394
 TMbsSetup.cxx:1395
 TMbsSetup.cxx:1396
 TMbsSetup.cxx:1397
 TMbsSetup.cxx:1398
 TMbsSetup.cxx:1399
 TMbsSetup.cxx:1400
 TMbsSetup.cxx:1401
 TMbsSetup.cxx:1402
 TMbsSetup.cxx:1403
 TMbsSetup.cxx:1404
 TMbsSetup.cxx:1405
 TMbsSetup.cxx:1406
 TMbsSetup.cxx:1407
 TMbsSetup.cxx:1408
 TMbsSetup.cxx:1409
 TMbsSetup.cxx:1410
 TMbsSetup.cxx:1411
 TMbsSetup.cxx:1412
 TMbsSetup.cxx:1413
 TMbsSetup.cxx:1414
 TMbsSetup.cxx:1415
 TMbsSetup.cxx:1416
 TMbsSetup.cxx:1417
 TMbsSetup.cxx:1418
 TMbsSetup.cxx:1419
 TMbsSetup.cxx:1420
 TMbsSetup.cxx:1421
 TMbsSetup.cxx:1422
 TMbsSetup.cxx:1423
 TMbsSetup.cxx:1424
 TMbsSetup.cxx:1425
 TMbsSetup.cxx:1426
 TMbsSetup.cxx:1427
 TMbsSetup.cxx:1428
 TMbsSetup.cxx:1429
 TMbsSetup.cxx:1430
 TMbsSetup.cxx:1431
 TMbsSetup.cxx:1432
 TMbsSetup.cxx:1433
 TMbsSetup.cxx:1434
 TMbsSetup.cxx:1435
 TMbsSetup.cxx:1436
 TMbsSetup.cxx:1437
 TMbsSetup.cxx:1438
 TMbsSetup.cxx:1439
 TMbsSetup.cxx:1440
 TMbsSetup.cxx:1441
 TMbsSetup.cxx:1442
 TMbsSetup.cxx:1443
 TMbsSetup.cxx:1444
 TMbsSetup.cxx:1445
 TMbsSetup.cxx:1446
 TMbsSetup.cxx:1447
 TMbsSetup.cxx:1448
 TMbsSetup.cxx:1449
 TMbsSetup.cxx:1450
 TMbsSetup.cxx:1451
 TMbsSetup.cxx:1452
 TMbsSetup.cxx:1453
 TMbsSetup.cxx:1454
 TMbsSetup.cxx:1455
 TMbsSetup.cxx:1456
 TMbsSetup.cxx:1457
 TMbsSetup.cxx:1458
 TMbsSetup.cxx:1459
 TMbsSetup.cxx:1460
 TMbsSetup.cxx:1461
 TMbsSetup.cxx:1462
 TMbsSetup.cxx:1463
 TMbsSetup.cxx:1464
 TMbsSetup.cxx:1465
 TMbsSetup.cxx:1466
 TMbsSetup.cxx:1467
 TMbsSetup.cxx:1468
 TMbsSetup.cxx:1469
 TMbsSetup.cxx:1470
 TMbsSetup.cxx:1471
 TMbsSetup.cxx:1472
 TMbsSetup.cxx:1473
 TMbsSetup.cxx:1474
 TMbsSetup.cxx:1475
 TMbsSetup.cxx:1476
 TMbsSetup.cxx:1477
 TMbsSetup.cxx:1478
 TMbsSetup.cxx:1479
 TMbsSetup.cxx:1480
 TMbsSetup.cxx:1481
 TMbsSetup.cxx:1482
 TMbsSetup.cxx:1483
 TMbsSetup.cxx:1484
 TMbsSetup.cxx:1485
 TMbsSetup.cxx:1486
 TMbsSetup.cxx:1487
 TMbsSetup.cxx:1488
 TMbsSetup.cxx:1489
 TMbsSetup.cxx:1490
 TMbsSetup.cxx:1491
 TMbsSetup.cxx:1492
 TMbsSetup.cxx:1493
 TMbsSetup.cxx:1494
 TMbsSetup.cxx:1495
 TMbsSetup.cxx:1496
 TMbsSetup.cxx:1497
 TMbsSetup.cxx:1498
 TMbsSetup.cxx:1499
 TMbsSetup.cxx:1500
 TMbsSetup.cxx:1501
 TMbsSetup.cxx:1502
 TMbsSetup.cxx:1503
 TMbsSetup.cxx:1504
 TMbsSetup.cxx:1505
 TMbsSetup.cxx:1506
 TMbsSetup.cxx:1507
 TMbsSetup.cxx:1508
 TMbsSetup.cxx:1509
 TMbsSetup.cxx:1510
 TMbsSetup.cxx:1511
 TMbsSetup.cxx:1512
 TMbsSetup.cxx:1513
 TMbsSetup.cxx:1514
 TMbsSetup.cxx:1515
 TMbsSetup.cxx:1516
 TMbsSetup.cxx:1517
 TMbsSetup.cxx:1518
 TMbsSetup.cxx:1519
 TMbsSetup.cxx:1520
 TMbsSetup.cxx:1521
 TMbsSetup.cxx:1522
 TMbsSetup.cxx:1523
 TMbsSetup.cxx:1524
 TMbsSetup.cxx:1525
 TMbsSetup.cxx:1526
 TMbsSetup.cxx:1527
 TMbsSetup.cxx:1528
 TMbsSetup.cxx:1529
 TMbsSetup.cxx:1530
 TMbsSetup.cxx:1531
 TMbsSetup.cxx:1532
 TMbsSetup.cxx:1533
 TMbsSetup.cxx:1534
 TMbsSetup.cxx:1535
 TMbsSetup.cxx:1536
 TMbsSetup.cxx:1537
 TMbsSetup.cxx:1538
 TMbsSetup.cxx:1539
 TMbsSetup.cxx:1540
 TMbsSetup.cxx:1541
 TMbsSetup.cxx:1542
 TMbsSetup.cxx:1543
 TMbsSetup.cxx:1544
 TMbsSetup.cxx:1545
 TMbsSetup.cxx:1546
 TMbsSetup.cxx:1547
 TMbsSetup.cxx:1548
 TMbsSetup.cxx:1549
 TMbsSetup.cxx:1550
 TMbsSetup.cxx:1551
 TMbsSetup.cxx:1552
 TMbsSetup.cxx:1553
 TMbsSetup.cxx:1554
 TMbsSetup.cxx:1555
 TMbsSetup.cxx:1556
 TMbsSetup.cxx:1557
 TMbsSetup.cxx:1558
 TMbsSetup.cxx:1559
 TMbsSetup.cxx:1560
 TMbsSetup.cxx:1561
 TMbsSetup.cxx:1562
 TMbsSetup.cxx:1563
 TMbsSetup.cxx:1564
 TMbsSetup.cxx:1565
 TMbsSetup.cxx:1566
 TMbsSetup.cxx:1567
 TMbsSetup.cxx:1568
 TMbsSetup.cxx:1569
 TMbsSetup.cxx:1570
 TMbsSetup.cxx:1571
 TMbsSetup.cxx:1572
 TMbsSetup.cxx:1573
 TMbsSetup.cxx:1574
 TMbsSetup.cxx:1575
 TMbsSetup.cxx:1576
 TMbsSetup.cxx:1577
 TMbsSetup.cxx:1578
 TMbsSetup.cxx:1579
 TMbsSetup.cxx:1580
 TMbsSetup.cxx:1581
 TMbsSetup.cxx:1582
 TMbsSetup.cxx:1583
 TMbsSetup.cxx:1584
 TMbsSetup.cxx:1585
 TMbsSetup.cxx:1586
 TMbsSetup.cxx:1587
 TMbsSetup.cxx:1588
 TMbsSetup.cxx:1589
 TMbsSetup.cxx:1590
 TMbsSetup.cxx:1591
 TMbsSetup.cxx:1592
 TMbsSetup.cxx:1593
 TMbsSetup.cxx:1594
 TMbsSetup.cxx:1595
 TMbsSetup.cxx:1596
 TMbsSetup.cxx:1597
 TMbsSetup.cxx:1598
 TMbsSetup.cxx:1599
 TMbsSetup.cxx:1600
 TMbsSetup.cxx:1601
 TMbsSetup.cxx:1602
 TMbsSetup.cxx:1603
 TMbsSetup.cxx:1604
 TMbsSetup.cxx:1605
 TMbsSetup.cxx:1606
 TMbsSetup.cxx:1607
 TMbsSetup.cxx:1608
 TMbsSetup.cxx:1609
 TMbsSetup.cxx:1610
 TMbsSetup.cxx:1611
 TMbsSetup.cxx:1612
 TMbsSetup.cxx:1613
 TMbsSetup.cxx:1614
 TMbsSetup.cxx:1615
 TMbsSetup.cxx:1616
 TMbsSetup.cxx:1617
 TMbsSetup.cxx:1618
 TMbsSetup.cxx:1619
 TMbsSetup.cxx:1620
 TMbsSetup.cxx:1621
 TMbsSetup.cxx:1622
 TMbsSetup.cxx:1623
 TMbsSetup.cxx:1624
 TMbsSetup.cxx:1625
 TMbsSetup.cxx:1626
 TMbsSetup.cxx:1627
 TMbsSetup.cxx:1628
 TMbsSetup.cxx:1629
 TMbsSetup.cxx:1630
 TMbsSetup.cxx:1631
 TMbsSetup.cxx:1632
 TMbsSetup.cxx:1633
 TMbsSetup.cxx:1634
 TMbsSetup.cxx:1635
 TMbsSetup.cxx:1636
 TMbsSetup.cxx:1637
 TMbsSetup.cxx:1638
 TMbsSetup.cxx:1639
 TMbsSetup.cxx:1640
 TMbsSetup.cxx:1641
 TMbsSetup.cxx:1642
 TMbsSetup.cxx:1643
 TMbsSetup.cxx:1644
 TMbsSetup.cxx:1645
 TMbsSetup.cxx:1646
 TMbsSetup.cxx:1647
 TMbsSetup.cxx:1648
 TMbsSetup.cxx:1649
 TMbsSetup.cxx:1650
 TMbsSetup.cxx:1651
 TMbsSetup.cxx:1652
 TMbsSetup.cxx:1653
 TMbsSetup.cxx:1654
 TMbsSetup.cxx:1655
 TMbsSetup.cxx:1656
 TMbsSetup.cxx:1657
 TMbsSetup.cxx:1658
 TMbsSetup.cxx:1659
 TMbsSetup.cxx:1660
 TMbsSetup.cxx:1661
 TMbsSetup.cxx:1662
 TMbsSetup.cxx:1663
 TMbsSetup.cxx:1664
 TMbsSetup.cxx:1665
 TMbsSetup.cxx:1666
 TMbsSetup.cxx:1667
 TMbsSetup.cxx:1668
 TMbsSetup.cxx:1669
 TMbsSetup.cxx:1670
 TMbsSetup.cxx:1671
 TMbsSetup.cxx:1672
 TMbsSetup.cxx:1673
 TMbsSetup.cxx:1674
 TMbsSetup.cxx:1675
 TMbsSetup.cxx:1676
 TMbsSetup.cxx:1677
 TMbsSetup.cxx:1678
 TMbsSetup.cxx:1679
 TMbsSetup.cxx:1680
 TMbsSetup.cxx:1681
 TMbsSetup.cxx:1682
 TMbsSetup.cxx:1683
 TMbsSetup.cxx:1684
 TMbsSetup.cxx:1685
 TMbsSetup.cxx:1686
 TMbsSetup.cxx:1687
 TMbsSetup.cxx:1688
 TMbsSetup.cxx:1689
 TMbsSetup.cxx:1690
 TMbsSetup.cxx:1691
 TMbsSetup.cxx:1692
 TMbsSetup.cxx:1693
 TMbsSetup.cxx:1694
 TMbsSetup.cxx:1695
 TMbsSetup.cxx:1696
 TMbsSetup.cxx:1697
 TMbsSetup.cxx:1698
 TMbsSetup.cxx:1699
 TMbsSetup.cxx:1700
 TMbsSetup.cxx:1701
 TMbsSetup.cxx:1702
 TMbsSetup.cxx:1703
 TMbsSetup.cxx:1704
 TMbsSetup.cxx:1705
 TMbsSetup.cxx:1706
 TMbsSetup.cxx:1707
 TMbsSetup.cxx:1708
 TMbsSetup.cxx:1709
 TMbsSetup.cxx:1710
 TMbsSetup.cxx:1711
 TMbsSetup.cxx:1712
 TMbsSetup.cxx:1713
 TMbsSetup.cxx:1714
 TMbsSetup.cxx:1715
 TMbsSetup.cxx:1716
 TMbsSetup.cxx:1717
 TMbsSetup.cxx:1718
 TMbsSetup.cxx:1719
 TMbsSetup.cxx:1720
 TMbsSetup.cxx:1721
 TMbsSetup.cxx:1722
 TMbsSetup.cxx:1723
 TMbsSetup.cxx:1724
 TMbsSetup.cxx:1725
 TMbsSetup.cxx:1726
 TMbsSetup.cxx:1727
 TMbsSetup.cxx:1728
 TMbsSetup.cxx:1729
 TMbsSetup.cxx:1730
 TMbsSetup.cxx:1731
 TMbsSetup.cxx:1732
 TMbsSetup.cxx:1733
 TMbsSetup.cxx:1734
 TMbsSetup.cxx:1735
 TMbsSetup.cxx:1736
 TMbsSetup.cxx:1737
 TMbsSetup.cxx:1738
 TMbsSetup.cxx:1739
 TMbsSetup.cxx:1740
 TMbsSetup.cxx:1741
 TMbsSetup.cxx:1742
 TMbsSetup.cxx:1743
 TMbsSetup.cxx:1744
 TMbsSetup.cxx:1745
 TMbsSetup.cxx:1746
 TMbsSetup.cxx:1747
 TMbsSetup.cxx:1748
 TMbsSetup.cxx:1749
 TMbsSetup.cxx:1750
 TMbsSetup.cxx:1751
 TMbsSetup.cxx:1752
 TMbsSetup.cxx:1753
 TMbsSetup.cxx:1754
 TMbsSetup.cxx:1755
 TMbsSetup.cxx:1756
 TMbsSetup.cxx:1757
 TMbsSetup.cxx:1758
 TMbsSetup.cxx:1759
 TMbsSetup.cxx:1760
 TMbsSetup.cxx:1761
 TMbsSetup.cxx:1762
 TMbsSetup.cxx:1763
 TMbsSetup.cxx:1764
 TMbsSetup.cxx:1765
 TMbsSetup.cxx:1766
 TMbsSetup.cxx:1767
 TMbsSetup.cxx:1768
 TMbsSetup.cxx:1769
 TMbsSetup.cxx:1770
 TMbsSetup.cxx:1771
 TMbsSetup.cxx:1772
 TMbsSetup.cxx:1773
 TMbsSetup.cxx:1774
 TMbsSetup.cxx:1775
 TMbsSetup.cxx:1776
 TMbsSetup.cxx:1777
 TMbsSetup.cxx:1778
 TMbsSetup.cxx:1779
 TMbsSetup.cxx:1780
 TMbsSetup.cxx:1781
 TMbsSetup.cxx:1782
 TMbsSetup.cxx:1783
 TMbsSetup.cxx:1784
 TMbsSetup.cxx:1785
 TMbsSetup.cxx:1786
 TMbsSetup.cxx:1787
 TMbsSetup.cxx:1788
 TMbsSetup.cxx:1789
 TMbsSetup.cxx:1790
 TMbsSetup.cxx:1791
 TMbsSetup.cxx:1792
 TMbsSetup.cxx:1793
 TMbsSetup.cxx:1794
 TMbsSetup.cxx:1795
 TMbsSetup.cxx:1796
 TMbsSetup.cxx:1797
 TMbsSetup.cxx:1798
 TMbsSetup.cxx:1799
 TMbsSetup.cxx:1800
 TMbsSetup.cxx:1801
 TMbsSetup.cxx:1802
 TMbsSetup.cxx:1803
 TMbsSetup.cxx:1804
 TMbsSetup.cxx:1805
 TMbsSetup.cxx:1806
 TMbsSetup.cxx:1807
 TMbsSetup.cxx:1808
 TMbsSetup.cxx:1809
 TMbsSetup.cxx:1810
 TMbsSetup.cxx:1811
 TMbsSetup.cxx:1812
 TMbsSetup.cxx:1813
 TMbsSetup.cxx:1814
 TMbsSetup.cxx:1815
 TMbsSetup.cxx:1816
 TMbsSetup.cxx:1817
 TMbsSetup.cxx:1818
 TMbsSetup.cxx:1819
 TMbsSetup.cxx:1820
 TMbsSetup.cxx:1821
 TMbsSetup.cxx:1822
 TMbsSetup.cxx:1823
 TMbsSetup.cxx:1824
 TMbsSetup.cxx:1825
 TMbsSetup.cxx:1826
 TMbsSetup.cxx:1827
 TMbsSetup.cxx:1828
 TMbsSetup.cxx:1829
 TMbsSetup.cxx:1830
 TMbsSetup.cxx:1831
 TMbsSetup.cxx:1832
 TMbsSetup.cxx:1833
 TMbsSetup.cxx:1834
 TMbsSetup.cxx:1835
 TMbsSetup.cxx:1836
 TMbsSetup.cxx:1837
 TMbsSetup.cxx:1838
 TMbsSetup.cxx:1839
 TMbsSetup.cxx:1840
 TMbsSetup.cxx:1841
 TMbsSetup.cxx:1842
 TMbsSetup.cxx:1843
 TMbsSetup.cxx:1844
 TMbsSetup.cxx:1845
 TMbsSetup.cxx:1846
 TMbsSetup.cxx:1847
 TMbsSetup.cxx:1848
 TMbsSetup.cxx:1849
 TMbsSetup.cxx:1850
 TMbsSetup.cxx:1851
 TMbsSetup.cxx:1852
 TMbsSetup.cxx:1853
 TMbsSetup.cxx:1854
 TMbsSetup.cxx:1855
 TMbsSetup.cxx:1856
 TMbsSetup.cxx:1857
 TMbsSetup.cxx:1858
 TMbsSetup.cxx:1859
 TMbsSetup.cxx:1860
 TMbsSetup.cxx:1861
 TMbsSetup.cxx:1862
 TMbsSetup.cxx:1863
 TMbsSetup.cxx:1864
 TMbsSetup.cxx:1865
 TMbsSetup.cxx:1866
 TMbsSetup.cxx:1867
 TMbsSetup.cxx:1868
 TMbsSetup.cxx:1869
 TMbsSetup.cxx:1870
 TMbsSetup.cxx:1871
 TMbsSetup.cxx:1872
 TMbsSetup.cxx:1873
 TMbsSetup.cxx:1874
 TMbsSetup.cxx:1875
 TMbsSetup.cxx:1876
 TMbsSetup.cxx:1877
 TMbsSetup.cxx:1878
 TMbsSetup.cxx:1879
 TMbsSetup.cxx:1880
 TMbsSetup.cxx:1881
 TMbsSetup.cxx:1882
 TMbsSetup.cxx:1883
 TMbsSetup.cxx:1884
 TMbsSetup.cxx:1885
 TMbsSetup.cxx:1886
 TMbsSetup.cxx:1887
 TMbsSetup.cxx:1888
 TMbsSetup.cxx:1889
 TMbsSetup.cxx:1890
 TMbsSetup.cxx:1891
 TMbsSetup.cxx:1892
 TMbsSetup.cxx:1893
 TMbsSetup.cxx:1894
 TMbsSetup.cxx:1895
 TMbsSetup.cxx:1896
 TMbsSetup.cxx:1897
 TMbsSetup.cxx:1898
 TMbsSetup.cxx:1899
 TMbsSetup.cxx:1900
 TMbsSetup.cxx:1901
 TMbsSetup.cxx:1902
 TMbsSetup.cxx:1903
 TMbsSetup.cxx:1904
 TMbsSetup.cxx:1905
 TMbsSetup.cxx:1906
 TMbsSetup.cxx:1907
 TMbsSetup.cxx:1908
 TMbsSetup.cxx:1909
 TMbsSetup.cxx:1910
 TMbsSetup.cxx:1911
 TMbsSetup.cxx:1912
 TMbsSetup.cxx:1913
 TMbsSetup.cxx:1914
 TMbsSetup.cxx:1915
 TMbsSetup.cxx:1916
 TMbsSetup.cxx:1917
 TMbsSetup.cxx:1918
 TMbsSetup.cxx:1919
 TMbsSetup.cxx:1920
 TMbsSetup.cxx:1921
 TMbsSetup.cxx:1922
 TMbsSetup.cxx:1923
 TMbsSetup.cxx:1924
 TMbsSetup.cxx:1925
 TMbsSetup.cxx:1926
 TMbsSetup.cxx:1927
 TMbsSetup.cxx:1928
 TMbsSetup.cxx:1929
 TMbsSetup.cxx:1930
 TMbsSetup.cxx:1931
 TMbsSetup.cxx:1932
 TMbsSetup.cxx:1933
 TMbsSetup.cxx:1934
 TMbsSetup.cxx:1935
 TMbsSetup.cxx:1936
 TMbsSetup.cxx:1937
 TMbsSetup.cxx:1938
 TMbsSetup.cxx:1939
 TMbsSetup.cxx:1940
 TMbsSetup.cxx:1941
 TMbsSetup.cxx:1942
 TMbsSetup.cxx:1943
 TMbsSetup.cxx:1944
 TMbsSetup.cxx:1945
 TMbsSetup.cxx:1946
 TMbsSetup.cxx:1947
 TMbsSetup.cxx:1948
 TMbsSetup.cxx:1949
 TMbsSetup.cxx:1950
 TMbsSetup.cxx:1951
 TMbsSetup.cxx:1952
 TMbsSetup.cxx:1953
 TMbsSetup.cxx:1954
 TMbsSetup.cxx:1955
 TMbsSetup.cxx:1956
 TMbsSetup.cxx:1957
 TMbsSetup.cxx:1958
 TMbsSetup.cxx:1959
 TMbsSetup.cxx:1960
 TMbsSetup.cxx:1961
 TMbsSetup.cxx:1962
 TMbsSetup.cxx:1963
 TMbsSetup.cxx:1964
 TMbsSetup.cxx:1965
 TMbsSetup.cxx:1966
 TMbsSetup.cxx:1967
 TMbsSetup.cxx:1968
 TMbsSetup.cxx:1969
 TMbsSetup.cxx:1970
 TMbsSetup.cxx:1971
 TMbsSetup.cxx:1972
 TMbsSetup.cxx:1973
 TMbsSetup.cxx:1974
 TMbsSetup.cxx:1975
 TMbsSetup.cxx:1976
 TMbsSetup.cxx:1977
 TMbsSetup.cxx:1978
 TMbsSetup.cxx:1979
 TMbsSetup.cxx:1980
 TMbsSetup.cxx:1981
 TMbsSetup.cxx:1982
 TMbsSetup.cxx:1983
 TMbsSetup.cxx:1984
 TMbsSetup.cxx:1985
 TMbsSetup.cxx:1986
 TMbsSetup.cxx:1987
 TMbsSetup.cxx:1988
 TMbsSetup.cxx:1989
 TMbsSetup.cxx:1990
 TMbsSetup.cxx:1991
 TMbsSetup.cxx:1992
 TMbsSetup.cxx:1993
 TMbsSetup.cxx:1994
 TMbsSetup.cxx:1995
 TMbsSetup.cxx:1996
 TMbsSetup.cxx:1997
 TMbsSetup.cxx:1998
 TMbsSetup.cxx:1999
 TMbsSetup.cxx:2000
 TMbsSetup.cxx:2001
 TMbsSetup.cxx:2002
 TMbsSetup.cxx:2003
 TMbsSetup.cxx:2004
 TMbsSetup.cxx:2005
 TMbsSetup.cxx:2006
 TMbsSetup.cxx:2007
 TMbsSetup.cxx:2008
 TMbsSetup.cxx:2009
 TMbsSetup.cxx:2010
 TMbsSetup.cxx:2011
 TMbsSetup.cxx:2012
 TMbsSetup.cxx:2013
 TMbsSetup.cxx:2014
 TMbsSetup.cxx:2015
 TMbsSetup.cxx:2016
 TMbsSetup.cxx:2017
 TMbsSetup.cxx:2018
 TMbsSetup.cxx:2019
 TMbsSetup.cxx:2020
 TMbsSetup.cxx:2021
 TMbsSetup.cxx:2022
 TMbsSetup.cxx:2023
 TMbsSetup.cxx:2024
 TMbsSetup.cxx:2025
 TMbsSetup.cxx:2026
 TMbsSetup.cxx:2027
 TMbsSetup.cxx:2028
 TMbsSetup.cxx:2029
 TMbsSetup.cxx:2030
 TMbsSetup.cxx:2031
 TMbsSetup.cxx:2032
 TMbsSetup.cxx:2033
 TMbsSetup.cxx:2034
 TMbsSetup.cxx:2035
 TMbsSetup.cxx:2036
 TMbsSetup.cxx:2037
 TMbsSetup.cxx:2038
 TMbsSetup.cxx:2039
 TMbsSetup.cxx:2040
 TMbsSetup.cxx:2041
 TMbsSetup.cxx:2042
 TMbsSetup.cxx:2043
 TMbsSetup.cxx:2044
 TMbsSetup.cxx:2045
 TMbsSetup.cxx:2046
 TMbsSetup.cxx:2047
 TMbsSetup.cxx:2048
 TMbsSetup.cxx:2049
 TMbsSetup.cxx:2050
 TMbsSetup.cxx:2051
 TMbsSetup.cxx:2052
 TMbsSetup.cxx:2053
 TMbsSetup.cxx:2054
 TMbsSetup.cxx:2055
 TMbsSetup.cxx:2056
 TMbsSetup.cxx:2057
 TMbsSetup.cxx:2058
 TMbsSetup.cxx:2059
 TMbsSetup.cxx:2060
 TMbsSetup.cxx:2061
 TMbsSetup.cxx:2062
 TMbsSetup.cxx:2063
 TMbsSetup.cxx:2064
 TMbsSetup.cxx:2065
 TMbsSetup.cxx:2066
 TMbsSetup.cxx:2067
 TMbsSetup.cxx:2068
 TMbsSetup.cxx:2069
 TMbsSetup.cxx:2070
 TMbsSetup.cxx:2071
 TMbsSetup.cxx:2072
 TMbsSetup.cxx:2073
 TMbsSetup.cxx:2074
 TMbsSetup.cxx:2075
 TMbsSetup.cxx:2076
 TMbsSetup.cxx:2077
 TMbsSetup.cxx:2078
 TMbsSetup.cxx:2079
 TMbsSetup.cxx:2080
 TMbsSetup.cxx:2081
 TMbsSetup.cxx:2082
 TMbsSetup.cxx:2083
 TMbsSetup.cxx:2084
 TMbsSetup.cxx:2085
 TMbsSetup.cxx:2086
 TMbsSetup.cxx:2087
 TMbsSetup.cxx:2088
 TMbsSetup.cxx:2089
 TMbsSetup.cxx:2090
 TMbsSetup.cxx:2091
 TMbsSetup.cxx:2092
 TMbsSetup.cxx:2093
 TMbsSetup.cxx:2094
 TMbsSetup.cxx:2095
 TMbsSetup.cxx:2096
 TMbsSetup.cxx:2097
 TMbsSetup.cxx:2098
 TMbsSetup.cxx:2099
 TMbsSetup.cxx:2100
 TMbsSetup.cxx:2101
 TMbsSetup.cxx:2102
 TMbsSetup.cxx:2103
 TMbsSetup.cxx:2104
 TMbsSetup.cxx:2105
 TMbsSetup.cxx:2106
 TMbsSetup.cxx:2107
 TMbsSetup.cxx:2108
 TMbsSetup.cxx:2109
 TMbsSetup.cxx:2110
 TMbsSetup.cxx:2111
 TMbsSetup.cxx:2112
 TMbsSetup.cxx:2113
 TMbsSetup.cxx:2114
 TMbsSetup.cxx:2115
 TMbsSetup.cxx:2116
 TMbsSetup.cxx:2117
 TMbsSetup.cxx:2118
 TMbsSetup.cxx:2119
 TMbsSetup.cxx:2120
 TMbsSetup.cxx:2121
 TMbsSetup.cxx:2122
 TMbsSetup.cxx:2123
 TMbsSetup.cxx:2124
 TMbsSetup.cxx:2125
 TMbsSetup.cxx:2126
 TMbsSetup.cxx:2127
 TMbsSetup.cxx:2128
 TMbsSetup.cxx:2129
 TMbsSetup.cxx:2130
 TMbsSetup.cxx:2131
 TMbsSetup.cxx:2132
 TMbsSetup.cxx:2133
 TMbsSetup.cxx:2134
 TMbsSetup.cxx:2135
 TMbsSetup.cxx:2136
 TMbsSetup.cxx:2137
 TMbsSetup.cxx:2138
 TMbsSetup.cxx:2139
 TMbsSetup.cxx:2140
 TMbsSetup.cxx:2141
 TMbsSetup.cxx:2142
 TMbsSetup.cxx:2143
 TMbsSetup.cxx:2144
 TMbsSetup.cxx:2145
 TMbsSetup.cxx:2146
 TMbsSetup.cxx:2147
 TMbsSetup.cxx:2148
 TMbsSetup.cxx:2149
 TMbsSetup.cxx:2150
 TMbsSetup.cxx:2151
 TMbsSetup.cxx:2152
 TMbsSetup.cxx:2153
 TMbsSetup.cxx:2154
 TMbsSetup.cxx:2155
 TMbsSetup.cxx:2156
 TMbsSetup.cxx:2157
 TMbsSetup.cxx:2158
 TMbsSetup.cxx:2159
 TMbsSetup.cxx:2160
 TMbsSetup.cxx:2161
 TMbsSetup.cxx:2162
 TMbsSetup.cxx:2163
 TMbsSetup.cxx:2164
 TMbsSetup.cxx:2165
 TMbsSetup.cxx:2166
 TMbsSetup.cxx:2167
 TMbsSetup.cxx:2168
 TMbsSetup.cxx:2169
 TMbsSetup.cxx:2170
 TMbsSetup.cxx:2171
 TMbsSetup.cxx:2172
 TMbsSetup.cxx:2173
 TMbsSetup.cxx:2174
 TMbsSetup.cxx:2175
 TMbsSetup.cxx:2176
 TMbsSetup.cxx:2177
 TMbsSetup.cxx:2178
 TMbsSetup.cxx:2179
 TMbsSetup.cxx:2180
 TMbsSetup.cxx:2181
 TMbsSetup.cxx:2182
 TMbsSetup.cxx:2183
 TMbsSetup.cxx:2184
 TMbsSetup.cxx:2185
 TMbsSetup.cxx:2186
 TMbsSetup.cxx:2187
 TMbsSetup.cxx:2188
 TMbsSetup.cxx:2189
 TMbsSetup.cxx:2190
 TMbsSetup.cxx:2191
 TMbsSetup.cxx:2192
 TMbsSetup.cxx:2193
 TMbsSetup.cxx:2194
 TMbsSetup.cxx:2195
 TMbsSetup.cxx:2196
 TMbsSetup.cxx:2197
 TMbsSetup.cxx:2198
 TMbsSetup.cxx:2199
 TMbsSetup.cxx:2200
 TMbsSetup.cxx:2201
 TMbsSetup.cxx:2202
 TMbsSetup.cxx:2203
 TMbsSetup.cxx:2204
 TMbsSetup.cxx:2205
 TMbsSetup.cxx:2206
 TMbsSetup.cxx:2207
 TMbsSetup.cxx:2208
 TMbsSetup.cxx:2209
 TMbsSetup.cxx:2210
 TMbsSetup.cxx:2211
 TMbsSetup.cxx:2212
 TMbsSetup.cxx:2213
 TMbsSetup.cxx:2214
 TMbsSetup.cxx:2215
 TMbsSetup.cxx:2216
 TMbsSetup.cxx:2217
 TMbsSetup.cxx:2218
 TMbsSetup.cxx:2219
 TMbsSetup.cxx:2220
 TMbsSetup.cxx:2221
 TMbsSetup.cxx:2222
 TMbsSetup.cxx:2223
 TMbsSetup.cxx:2224
 TMbsSetup.cxx:2225
 TMbsSetup.cxx:2226
 TMbsSetup.cxx:2227
 TMbsSetup.cxx:2228
 TMbsSetup.cxx:2229
 TMbsSetup.cxx:2230
 TMbsSetup.cxx:2231
 TMbsSetup.cxx:2232
 TMbsSetup.cxx:2233
 TMbsSetup.cxx:2234
 TMbsSetup.cxx:2235
 TMbsSetup.cxx:2236
 TMbsSetup.cxx:2237
 TMbsSetup.cxx:2238
 TMbsSetup.cxx:2239
 TMbsSetup.cxx:2240
 TMbsSetup.cxx:2241
 TMbsSetup.cxx:2242
 TMbsSetup.cxx:2243
 TMbsSetup.cxx:2244
 TMbsSetup.cxx:2245
 TMbsSetup.cxx:2246
 TMbsSetup.cxx:2247
 TMbsSetup.cxx:2248
 TMbsSetup.cxx:2249
 TMbsSetup.cxx:2250
 TMbsSetup.cxx:2251
 TMbsSetup.cxx:2252
 TMbsSetup.cxx:2253
 TMbsSetup.cxx:2254
 TMbsSetup.cxx:2255
 TMbsSetup.cxx:2256
 TMbsSetup.cxx:2257
 TMbsSetup.cxx:2258
 TMbsSetup.cxx:2259
 TMbsSetup.cxx:2260
 TMbsSetup.cxx:2261
 TMbsSetup.cxx:2262
 TMbsSetup.cxx:2263
 TMbsSetup.cxx:2264
 TMbsSetup.cxx:2265
 TMbsSetup.cxx:2266
 TMbsSetup.cxx:2267
 TMbsSetup.cxx:2268
 TMbsSetup.cxx:2269
 TMbsSetup.cxx:2270
 TMbsSetup.cxx:2271
 TMbsSetup.cxx:2272
 TMbsSetup.cxx:2273
 TMbsSetup.cxx:2274
 TMbsSetup.cxx:2275
 TMbsSetup.cxx:2276
 TMbsSetup.cxx:2277
 TMbsSetup.cxx:2278
 TMbsSetup.cxx:2279
 TMbsSetup.cxx:2280
 TMbsSetup.cxx:2281
 TMbsSetup.cxx:2282
 TMbsSetup.cxx:2283
 TMbsSetup.cxx:2284
 TMbsSetup.cxx:2285
 TMbsSetup.cxx:2286
 TMbsSetup.cxx:2287
 TMbsSetup.cxx:2288
 TMbsSetup.cxx:2289
 TMbsSetup.cxx:2290