// @(#)root/:$Id: 5400e36954e1dc109fcfc306242c30234beb7312 $
// Author: Sergey Linev, Rene Brun  10.05.2004

/*************************************************************************
 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

//________________________________________________________________________
//
// Class for serializing/deserializing object to/from xml.
// It redefines most of TBuffer class function to convert simple types,
// array of simple types and objects to/from xml.
// Instead of writing a binary data it creates a set of xml structures as
// nodes and attributes
// TBufferXML class uses streaming mechanism, provided by ROOT system,
// therefore most of ROOT and user classes can be stored to xml. There are
// limitations for complex objects like TTree, which can not be yet converted to xml.
//________________________________________________________________________


#include "TBufferXML.h"
#include "Compression.h"
#include "TXMLFile.h"

#include "TObjArray.h"
#include "TROOT.h"
#include "TClass.h"
#include "TClassTable.h"
#include "TDataType.h"
#include "TExMap.h"
#include "TMethodCall.h"
#include "TStreamerInfo.h"
#include "TStreamerElement.h"
#include "TProcessID.h"
#include "TFile.h"
#include "TMemberStreamer.h"
#include "TStreamer.h"
#include "TStreamerInfoActions.h"
#include "RZip.h"

#ifdef R__VISUAL_CPLUSPLUS
#define FLong64    "%I64d"
#define FULong64   "%I64u"
#else
#define FLong64    "%lld"
#define FULong64   "%llu"
#endif

ClassImp(TBufferXML);


std::string TBufferXML::fgFloatFmt = "%e";

//______________________________________________________________________________
TBufferXML::TBufferXML() :
   TBufferFile(),
   TXMLSetup(),
   fXML(0),
   fStack(),
   fVersionBuf(-111),
   fObjMap(0),
   fIdArray(0),
   fErrorFlag(0),
   fCanUseCompact(kFALSE),
   fExpectedChain(kFALSE),
   fExpectedBaseClass(0),
   fCompressLevel(0)

{
   // Default constructor
}

//______________________________________________________________________________
TBufferXML::TBufferXML(TBuffer::EMode mode) :
   TBufferFile(mode),
   TXMLSetup(),
   fXML(0),
   fStack(),
   fVersionBuf(-111),
   fObjMap(0),
   fIdArray(0),
   fErrorFlag(0),
   fCanUseCompact(kFALSE),
   fExpectedChain(kFALSE),
   fExpectedBaseClass(0),
   fCompressLevel(0)
{
   // Creates buffer object to serailize/deserialize data to/from xml.
   // Mode should be either TBuffer::kRead or TBuffer::kWrite.

   fBufSize = 1000000000;

   SetParent(0);
   SetBit(kCannotHandleMemberWiseStreaming);
   SetBit(kTextBasedStreaming);
}

//______________________________________________________________________________
TBufferXML::TBufferXML(TBuffer::EMode mode, TXMLFile* file) :
   TBufferFile(mode),
   TXMLSetup(*file),
   fXML(0),
   fStack(),
   fVersionBuf(-111),
   fObjMap(0),
   fIdArray(0),
   fErrorFlag(0),
   fCanUseCompact(kFALSE),
   fExpectedChain(kFALSE),
   fExpectedBaseClass(0),
   fCompressLevel(0)
{
   // Creates buffer object to serailize/deserialize data to/from xml.
   // This constructor should be used, if data from buffer supposed to be stored in file.
   // Mode should be either TBuffer::kRead or TBuffer::kWrite.

   // this is for the case when StreamerInfo reads elements from
   // buffer as ReadFastArray. When it checks if size of buffer is
   // too small and skip reading. Actually, more improved method should
   // be used here.
   fBufSize = 1000000000;

   SetParent(file);
   SetBit(kCannotHandleMemberWiseStreaming);
   SetBit(kTextBasedStreaming);
   if (XmlFile()) {
      SetXML(XmlFile()->XML());
      SetCompressionSettings(XmlFile()->GetCompressionSettings());
   }
}

//______________________________________________________________________________
TBufferXML::~TBufferXML()
{
   // destroy xml buffer

   if (fObjMap) delete fObjMap;
   if (fIdArray) delete fIdArray;
   fStack.Delete();
}

//______________________________________________________________________________
TXMLFile* TBufferXML::XmlFile()
{
   // returns pointer to TXMLFile object
   // access to file is necessary to produce unique identifier for object references

   return dynamic_cast<TXMLFile*>(GetParent());
}

//______________________________________________________________________________
TString TBufferXML::ConvertToXML(const TObject* obj, Bool_t GenericLayout, Bool_t UseNamespaces)
{
   // converts object, inherited from TObject class, to XML string
   // fmt contains configuration of XML layout. See TXMLSetup class for detatils

   return ConvertToXML(obj, obj ? obj->IsA() : 0, GenericLayout, UseNamespaces);
}

//______________________________________________________________________________
TString TBufferXML::ConvertToXML(const void* obj, const TClass* cl, Bool_t GenericLayout, Bool_t UseNamespaces)
{
   // converts any type of object to XML string
   // fmt contains configuration of XML layout. See TXMLSetup class for detatils

   TXMLEngine xml;

   TBufferXML buf(TBuffer::kWrite);
   buf.SetXML(&xml);

   buf.SetXmlLayout(GenericLayout ? TXMLSetup::kGeneralized : TXMLSetup::kSpecialized);
   buf.SetUseNamespaces(UseNamespaces);

   XMLNodePointer_t xmlnode = buf.XmlWriteAny(obj, cl);

   TString res;

   xml.SaveSingleNode(xmlnode, &res);

   xml.FreeNode(xmlnode);

   return res;
}

//______________________________________________________________________________
TObject* TBufferXML::ConvertFromXML(const char* str, Bool_t GenericLayout, Bool_t UseNamespaces)
{
   // Read object from XML, produced by ConvertToXML() method.
   // If object does not inherit from TObject class, return 0.
   // GenericLayout and UseNamespaces should be the same as in ConvertToXML()

   TClass* cl = 0;
   void* obj = ConvertFromXMLAny(str, &cl, GenericLayout, UseNamespaces);

   if ((cl==0) || (obj==0)) return 0;

   Int_t delta = cl->GetBaseClassOffset(TObject::Class());

   if (delta<0) {
      cl->Destructor(obj);
      return 0;
   }

   return (TObject*) ( ( (char*)obj ) + delta );
}

//______________________________________________________________________________
void* TBufferXML::ConvertFromXMLAny(const char* str, TClass** cl, Bool_t GenericLayout, Bool_t UseNamespaces)
{
   // Read object of any class from XML, produced by ConvertToXML() method.
   // If cl!=0, return actual class of object.
   // GenericLayout and UseNamespaces should be the same as in ConvertToXML()

   TXMLEngine xml;
   TBufferXML buf(TBuffer::kRead);

   buf.SetXML(&xml);

   buf.SetXmlLayout(GenericLayout ? TXMLSetup::kGeneralized : TXMLSetup::kSpecialized);
   buf.SetUseNamespaces(UseNamespaces);

   XMLNodePointer_t xmlnode = xml.ReadSingleNode(str);

   void* obj = buf.XmlReadAny(xmlnode, 0, cl);

   xml.FreeNode(xmlnode);

   return obj;
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::XmlWriteAny(const void* obj, const TClass* cl)
{
   // Convert object of any class to xml structures
   // Return pointer on top xml element

   fErrorFlag = 0;

   if (fXML==0) return 0;

   XMLNodePointer_t res = XmlWriteObject(obj, cl);

   return res;
}

//______________________________________________________________________________
void* TBufferXML::XmlReadAny(XMLNodePointer_t node, void* obj, TClass** cl)
{
   // Recreate object from xml structure.
   // Return pointer to read object.
   // if (cl!=0) returns pointer to class of object

   if (node==0) return 0;
   if (cl) *cl = 0;

   fErrorFlag = 0;

   if (fXML==0) return 0;

   PushStack(node, kTRUE);

   void* res = XmlReadObject(obj, cl);

   PopStack();

   return res;
}

//______________________________________________________________________________
void TBufferXML::WriteObject(const TObject *obj)
{
   // Convert object into xml structures.
   // !!! Should be used only by TBufferXML itself.
   // Use ConvertToXML() methods to convert your object to xml
   // Redefined here to avoid gcc 3.x warning

   TBufferFile::WriteObject(obj);
}

// TXMLStackObj is used to keep stack of object hierarchy,
// stored in TBuffer. For instnace, data for parent class(es)
// stored in subnodes, but initial object node will be kept.

class TXMLStackObj : public TObject {
   public:
      TXMLStackObj(XMLNodePointer_t node) :
         TObject(),
         fNode(node),
         fInfo(0),
         fElem(0),
         fElemNumber(0),
         fCompressedClassNode(kFALSE),
         fClassNs(0),
         fIsStreamerInfo(kFALSE),
         fIsElemOwner(kFALSE)
          {}

      virtual ~TXMLStackObj()
      {
         if (fIsElemOwner) delete fElem;
      }

      Bool_t IsStreamerInfo() const { return fIsStreamerInfo; }

      XMLNodePointer_t  fNode;
      TStreamerInfo*    fInfo;
      TStreamerElement* fElem;
      Int_t             fElemNumber;
      Bool_t            fCompressedClassNode;
      XMLNsPointer_t    fClassNs;
      Bool_t            fIsStreamerInfo;
      Bool_t            fIsElemOwner;
};

//______________________________________________________________________________
TXMLStackObj* TBufferXML::PushStack(XMLNodePointer_t current, Bool_t simple)
{
   // add new level to xml stack

   if (IsReading() && !simple) {
      current = fXML->GetChild(current);
      fXML->SkipEmpty(current);
   }

   TXMLStackObj* stack = new TXMLStackObj(current);
   fStack.Add(stack);
   return stack;
}

//______________________________________________________________________________
TXMLStackObj* TBufferXML::PopStack()
{
   // remove one level from xml stack

   TObject* last = fStack.Last();
   if (last!=0) {
      fStack.Remove(last);
      delete last;
      fStack.Compress();
   }
   return dynamic_cast<TXMLStackObj*> (fStack.Last());
}

//______________________________________________________________________________
TXMLStackObj* TBufferXML::Stack(Int_t depth)
{
   // return xml stack object of specified depth

   TXMLStackObj* stack = 0;
   if (depth<=fStack.GetLast())
      stack = dynamic_cast<TXMLStackObj*> (fStack.At(fStack.GetLast()-depth));
   return stack;
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::StackNode()
{
   // return pointer on current xml node

   TXMLStackObj* stack = dynamic_cast<TXMLStackObj*> (fStack.Last());
   return (stack==0) ? 0 : stack->fNode;
}

//______________________________________________________________________________
void TBufferXML::ShiftStack(const char* errinfo)
{
   // shift stack node to next

   TXMLStackObj* stack = dynamic_cast<TXMLStackObj*> (fStack.Last());
   if (stack) {
      fXML->ShiftToNext(stack->fNode);
      if (gDebug>4) Info("ShiftStack","%s to node %s", errinfo, fXML->GetNodeName(stack->fNode));
   }
}

//______________________________________________________________________________
void TBufferXML::SetCompressionAlgorithm(Int_t algorithm)
{
   // See comments for function SetCompressionSettings
   if (algorithm < 0 || algorithm >= ROOT::kUndefinedCompressionAlgorithm) algorithm = 0;
   if (fCompressLevel < 0) {
      // if the level is not defined yet use 1 as a default
      fCompressLevel = 100 * algorithm + 1;
   } else {
      int level = fCompressLevel % 100;
      fCompressLevel = 100 * algorithm + level;
   }
}

//______________________________________________________________________________
void TBufferXML::SetCompressionLevel(Int_t level)
{
   // See comments for function SetCompressionSettings
   if (level < 0) level = 0;
   if (level > 99) level = 99;
   if (fCompressLevel < 0) {
      // if the algorithm is not defined yet use 0 as a default
      fCompressLevel = level;
   } else {
      int algorithm = fCompressLevel / 100;
      if (algorithm >= ROOT::kUndefinedCompressionAlgorithm) algorithm = 0;
      fCompressLevel = 100 * algorithm + level;
   }
}

//______________________________________________________________________________
void TBufferXML::SetCompressionSettings(Int_t settings)
{
   // Used to specify the compression level and algorithm:
   //  settings = 100 * algorithm + level
   //
   //  level = 0 no compression.
   //  level = 1 minimal compression level but fast.
   //  ....
   //  level = 9 maximal compression level but slower and might use more memory.
   // (For the currently supported algorithms, the maximum level is 9)
   // If compress is negative it indicates the compression level is not set yet.
   //
   // The enumeration ROOT::ECompressionAlgorithm associates each
   // algorithm with a number. There is a utility function to help
   // to set the value of compress. For example,
   //   ROOT::CompressionSettings(ROOT::kLZMA, 1)
   // will build an integer which will set the compression to use
   // the LZMA algorithm and compression level 1.  These are defined
   // in the header file Compression.h.

   fCompressLevel = settings;
}

//______________________________________________________________________________
void TBufferXML::XmlWriteBlock(XMLNodePointer_t node)
{
   // write binary data block from buffer to xml
   // this data can be produced only by direct call of TBuffer::WriteBuf() functions

   if ((node==0) || (Length()==0)) return;

   const char* src = Buffer();
   int srcSize = Length();

   char* fZipBuffer = 0;

   Int_t compressionLevel = GetCompressionLevel();
   Int_t compressionAlgorithm = GetCompressionAlgorithm();

   if ((Length() > 512) && (compressionLevel > 0)) {
      int zipBufferSize = Length();
      fZipBuffer = new char[zipBufferSize + 9];
      int dataSize = Length();
      int compressedSize = 0;
      R__zipMultipleAlgorithm(compressionLevel, &dataSize, Buffer(), &zipBufferSize,
                              fZipBuffer, &compressedSize, compressionAlgorithm);
      if (compressedSize > 0) {
        src = fZipBuffer;
        srcSize = compressedSize;
      } else {
        delete[] fZipBuffer;
        fZipBuffer = 0;
      }
   }

   TString res;
   char sbuf[500];
   int block = 0;
   char* tgt = sbuf;
   int srcCnt = 0;

   while (srcCnt++<srcSize) {
      tgt+=sprintf(tgt, " %02x", (unsigned char) *src);
      src++;
      if (block++==100) {
         res += sbuf;
         block = 0;
         tgt = sbuf;
      }
   }

   if (block>0) res += sbuf;

   XMLNodePointer_t blocknode = fXML->NewChild(node, 0, xmlio::XmlBlock, res);
   fXML->NewIntAttr(blocknode, xmlio::Size, Length());

   if (fZipBuffer) {
      fXML->NewIntAttr(blocknode, xmlio::Zip, srcSize);
      delete[] fZipBuffer;
   }
}

//______________________________________________________________________________
void TBufferXML::XmlReadBlock(XMLNodePointer_t blocknode)
{
   // read binary block of data from xml

   if (blocknode==0) return;

   Int_t blockSize = fXML->GetIntAttr(blocknode, xmlio::Size);
   Bool_t blockCompressed = fXML->HasAttr(blocknode, xmlio::Zip);
   char* fUnzipBuffer = 0;

   if (gDebug>2)
      Info("XmlReadBlock","Block size = %d, Length = %d, Compressed = %d",
                           blockSize, Length(), blockCompressed);

   if (blockSize>BufferSize()) Expand(blockSize);

   char* tgt = Buffer();
   Int_t readSize = blockSize;

   TString content = fXML->GetNodeContent(blocknode);

   if (blockCompressed) {
      Int_t zipSize = fXML->GetIntAttr(blocknode, xmlio::Zip);
      fUnzipBuffer = new char[zipSize];

      tgt = fUnzipBuffer;
      readSize = zipSize;
   }

   char* ptr = (char*) content.Data();

   if (gDebug>3)
      Info("XmlReadBlock","Content %s", ptr);

   for (int i=0;i<readSize;i++) {
      while ((*ptr<48) || ((*ptr>57) && (*ptr<97)) || (*ptr>102)) ptr++;

      int b_hi = (*ptr>57) ? *ptr-87 : *ptr-48;
      ptr++;
      int b_lo = (*ptr>57) ? *ptr-87 : *ptr-48;
      ptr++;

      *tgt=b_hi*16+b_lo;
      tgt++;

      if (gDebug>4) Info("XmlReadBlock","    Buf[%d] = %d", i, b_hi*16+b_lo);
   }

   if (fUnzipBuffer) {

      int srcsize;
      int tgtsize;
      int status = R__unzip_header(&srcsize, (UChar_t*) fUnzipBuffer, &tgtsize);

      int unzipRes = 0;
      if (status == 0) {
        R__unzip(&readSize, (unsigned char*) fUnzipBuffer, &blockSize,
                            (unsigned char*) Buffer(), &unzipRes);
      }
      if (status != 0 || unzipRes!=blockSize)
         Error("XmlReadBlock", "Decompression error %d", unzipRes);
      else
         if (gDebug>2) Info("XmlReadBlock","Unzip ok");
      delete[] fUnzipBuffer;
   }
}

//______________________________________________________________________________
Bool_t TBufferXML::ProcessPointer(const void* ptr, XMLNodePointer_t node)
{
   // Add "ptr" attribute to node, if ptr is null or
   // if ptr is pointer on object, which is already saved in buffer
   // Automatically add "ref" attribute to node, where referenced object is stored

   if (node==0) return kFALSE;

   TString refvalue;

   if (ptr==0)
      refvalue = xmlio::Null;   //null
   else {
      if (fObjMap==0) return kFALSE;

      ULong_t hash = TString::Hash(&ptr, sizeof(void*));

      XMLNodePointer_t refnode = (XMLNodePointer_t) (Long_t)fObjMap->GetValue(hash, (Long_t) ptr);
      if (refnode==0) return kFALSE;

      if (fXML->HasAttr(refnode, xmlio::Ref))
         refvalue = fXML->GetAttr(refnode, xmlio::Ref);
      else {
         refvalue = xmlio::IdBase;
         if (XmlFile())
            refvalue += XmlFile()->GetNextRefCounter();
         else
            refvalue += GetNextRefCounter();
         fXML->NewAttr(refnode, 0, xmlio::Ref, refvalue.Data());
      }
   }
   if (refvalue.Length()>0) {
      fXML->NewAttr(node, 0, xmlio::Ptr, refvalue.Data());
      return kTRUE;
   }

   return kFALSE;
}

//______________________________________________________________________________
void TBufferXML::RegisterPointer(const void* ptr, XMLNodePointer_t node)
{
   // Register pair of object pointer and node, where this object is saved,
   // in object map

   if ((node==0) || (ptr==0)) return;

   ULong_t hash = TString::Hash(&ptr, sizeof(void*));

   if (fObjMap==0) fObjMap = new TExMap();

   if (fObjMap->GetValue(hash, (Long_t) ptr)==0)
      fObjMap->Add(hash, (Long_t) ptr, (Long_t) node);
}

//______________________________________________________________________________
Bool_t TBufferXML::ExtractPointer(XMLNodePointer_t node, void* &ptr, TClass* &cl)
{
   // Searches for "ptr" attribute and returns pointer to object and class,
   // if "ptr" attribute reference to read object

   cl = 0;

   if (!fXML->HasAttr(node,xmlio::Ptr)) return kFALSE;

   const char* ptrid = fXML->GetAttr(node, xmlio::Ptr);

   if (ptrid==0) return kFALSE;

   // null
   if (strcmp(ptrid, xmlio::Null)==0) {
      ptr = 0;
      return kTRUE;
   }

   if ((fIdArray==0) || (fObjMap==0)) return kFALSE;

   TNamed* obj = (TNamed*) fIdArray->FindObject(ptrid);
   if (obj) {
      ptr = (void*) (Long_t)fObjMap->GetValue((Long_t) fIdArray->IndexOf(obj));
      cl = TClass::GetClass(obj->GetTitle());
      return kTRUE;
   }
   return kFALSE;
}

//______________________________________________________________________________
void TBufferXML::ExtractReference(XMLNodePointer_t node, const void* ptr, const TClass* cl)
{
   // Analyse, if node has "ref" attribute and register it to object map

   if ((node==0) || (ptr==0)) return;

   const char* refid = fXML->GetAttr(node, xmlio::Ref);

   if (refid==0) return;

   if (fIdArray==0) {
      fIdArray = new TObjArray;
      fIdArray->SetOwner(kTRUE);
   }
   TNamed* nid = new TNamed(refid, cl->GetName());
   fIdArray->Add(nid);

   if (fObjMap==0) fObjMap = new TExMap();

   fObjMap->Add((Long_t) fIdArray->IndexOf(nid), (Long_t) ptr);

   if (gDebug>2)
      Info("ExtractReference","Find reference %s for object %p", refid, ptr);
}

//______________________________________________________________________________
Bool_t TBufferXML::VerifyNode(XMLNodePointer_t node, const char* name, const char* errinfo)
{
   // check, if node has specified name

   if ((name==0) || (node==0)) return kFALSE;

   if (strcmp(fXML->GetNodeName(node), name)!=0) {
      if (errinfo) {
         Error("VerifyNode","Reading XML file (%s). Get: %s, expects: %s",
                errinfo, fXML->GetNodeName(node), name);
         fErrorFlag = 1;
      }
      return kFALSE;
   }
   return kTRUE;
}

//______________________________________________________________________________
Bool_t TBufferXML::VerifyStackNode(const char* name, const char* errinfo)
{
   // check, if stack node has specified name

   return VerifyNode(StackNode(), name, errinfo);
}


//______________________________________________________________________________
Bool_t TBufferXML::VerifyAttr(XMLNodePointer_t node, const char* name, const char* value, const char* errinfo)
{
   // checks, that attribute of specified name exists and has specified value

   if ((node==0) || (name==0) || (value==0)) return kFALSE;
   const char* cont = fXML->GetAttr(node, name);
   if (((cont==0) || (strcmp(cont, value)!=0))) {
      if  (errinfo) {
         Error("VerifyAttr","%s : attr %s = %s, expected: %s", errinfo, name, cont, value);
         fErrorFlag = 1;
      }
      return kFALSE;
   }
   return kTRUE;
}

//______________________________________________________________________________
Bool_t TBufferXML::VerifyStackAttr(const char* name, const char* value, const char* errinfo)
{
   // checks stack attribute

   return VerifyAttr(StackNode(), name, value, errinfo);
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::CreateItemNode(const char* name)
{
   // create item node of specified name

   XMLNodePointer_t node = 0;
   if (GetXmlLayout()==kGeneralized) {
      node = fXML->NewChild(StackNode(), 0, xmlio::Item, 0);
      fXML->NewAttr(node, 0, xmlio::Name, name);
   } else
      node = fXML->NewChild(StackNode(), 0, name, 0);
   return node;
}

//______________________________________________________________________________
Bool_t TBufferXML::VerifyItemNode(const char* name, const char* errinfo)
{
   // checks, if stack node is item and has specified name

   Bool_t res = kTRUE;
   if (GetXmlLayout()==kGeneralized)
      res = VerifyStackNode(xmlio::Item, errinfo) &&
            VerifyStackAttr(xmlio::Name, name, errinfo);
   else
      res = VerifyStackNode(name, errinfo);
   return res;
}

//______________________________________________________________________________
void TBufferXML::CreateElemNode(const TStreamerElement* elem)
{
   // create xml node correspondent to TStreamerElement object

   XMLNodePointer_t elemnode = 0;

   const char* elemxmlname = XmlGetElementName(elem);

   if (GetXmlLayout()==kGeneralized) {
      elemnode = fXML->NewChild(StackNode(), 0, xmlio::Member, 0);
      fXML->NewAttr(elemnode, 0, xmlio::Name, elemxmlname);
   } else {
      // take namesapce for element only if it is not a base class or class name
      XMLNsPointer_t ns = Stack()->fClassNs;
      if ((elem->GetType()==TStreamerInfo::kBase)
           || ((elem->GetType()==TStreamerInfo::kTNamed) && !strcmp(elem->GetName(), TNamed::Class()->GetName()))
           || ((elem->GetType()==TStreamerInfo::kTObject) && !strcmp(elem->GetName(), TObject::Class()->GetName()))
           || ((elem->GetType()==TStreamerInfo::kTString) && !strcmp(elem->GetName(), TString::Class()->GetName())))
         ns = 0;

      elemnode = fXML->NewChild(StackNode(), ns, elemxmlname, 0);
   }

   TXMLStackObj* curr = PushStack(elemnode);
   curr->fElem = (TStreamerElement*)elem;
}

//______________________________________________________________________________
Bool_t TBufferXML::VerifyElemNode(const TStreamerElement* elem)
{
   // Checks, if stack node correspond to TStreamerElement object

   const char* elemxmlname = XmlGetElementName(elem);

   if (GetXmlLayout()==kGeneralized) {
      if (!VerifyStackNode(xmlio::Member)) return kFALSE;
      if (!VerifyStackAttr(xmlio::Name, elemxmlname)) return kFALSE;
   } else {
      if (!VerifyStackNode(elemxmlname)) return kFALSE;
   }

   PerformPreProcessing(elem, StackNode());

   TXMLStackObj* curr = PushStack(StackNode()); // set pointer to first data inside element
   curr->fElem = (TStreamerElement*)elem;
   return kTRUE;
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::XmlWriteObject(const void* obj, const TClass* cl)
{
   // Write object to buffer
   // If object was written before, only pointer will be stored
   // Return pointer to top xml node, representing object

   XMLNodePointer_t objnode = fXML->NewChild(StackNode(), 0, xmlio::Object, 0);

   if (!cl) obj = 0;
   if (ProcessPointer(obj, objnode)) return objnode;

   TString clname = XmlConvertClassName(cl->GetName());

   fXML->NewAttr(objnode, 0, xmlio::ObjClass, clname);

   RegisterPointer(obj, objnode);

   PushStack(objnode);

   ((TClass*)cl)->Streamer((void*)obj, *this);

   PopStack();

   if (gDebug>1)
      Info("XmlWriteObject","Done write for class: %s", cl ? cl->GetName() : "null");

   return objnode;
}

//______________________________________________________________________________
void* TBufferXML::XmlReadObject(void* obj, TClass** cl)
{
   // Read object from the buffer

   if (cl) *cl = 0;

   XMLNodePointer_t objnode = StackNode();

   if (fErrorFlag>0) return obj;

   if (objnode==0) return obj;

   if (!VerifyNode(objnode, xmlio::Object, "XmlReadObjectNew")) return obj;

   TClass* objClass = 0;

   if (ExtractPointer(objnode, obj, objClass)) {
      ShiftStack("readobjptr");
      if (cl) *cl = objClass;
      return obj;
   }

   TString clname = fXML->GetAttr(objnode, xmlio::ObjClass);
   objClass = XmlDefineClass(clname);
   if (objClass == TDirectory::Class()) objClass = TDirectoryFile::Class();

   if (objClass==0) {
      Error("XmlReadObject", "Cannot find class %s", clname.Data());
      ShiftStack("readobjerr");
      return obj;
   }

   if (gDebug>1)
      Info("XmlReadObject", "Reading object of class %s", clname.Data());

   if (obj==0) obj = objClass->New();

   ExtractReference(objnode, obj, objClass);

   PushStack(objnode);

   objClass->Streamer((void*)obj, *this);

   PopStack();

   ShiftStack("readobj");

   if (gDebug>1)
      Info("XmlReadObject", "Reading object of class %s done", clname.Data());

   if (cl) *cl = objClass;

   return obj;
}

//______________________________________________________________________________
void TBufferXML::IncrementLevel(TVirtualStreamerInfo* info)
{
   // Function is called from TStreamerInfo WriteBuffer and Readbuffer functions
   // and indent new level in xml structure.
   // This call indicates, that TStreamerInfo functions starts streaming
   // object data of correspondent class

   WorkWithClass((TStreamerInfo*)info);
}

//______________________________________________________________________________
void  TBufferXML::WorkWithClass(TStreamerInfo* sinfo, const TClass* cl)
{
   // Prepares buffer to stream data of specified class

   fCanUseCompact = kFALSE;
   fExpectedChain = kFALSE;

   if (sinfo!=0) cl = sinfo->GetClass();

   if (cl==0) return;

   TString clname = XmlConvertClassName(cl->GetName());

   if (gDebug>2) Info("IncrementLevel","Class: %s", clname.Data());

   Bool_t compressClassNode = fExpectedBaseClass==cl;
   fExpectedBaseClass = 0;

   TXMLStackObj* stack = Stack();

   if (IsWriting()) {

      XMLNodePointer_t classnode = 0;
      if (compressClassNode) {
         classnode = StackNode();
      } else {
         if (GetXmlLayout()==kGeneralized) {
            classnode = fXML->NewChild(StackNode(), 0, xmlio::Class, 0);
            fXML->NewAttr(classnode, 0, "name", clname);
         } else
            classnode = fXML->NewChild(StackNode(), 0, clname, 0);
         stack = PushStack(classnode);
      }

      if (fVersionBuf>=-1) {
         if (fVersionBuf == -1) fVersionBuf = 1;
         fXML->NewIntAttr(classnode, xmlio::ClassVersion, fVersionBuf);
         fVersionBuf = -111;
      }

      if (IsUseNamespaces() && (GetXmlLayout()!=kGeneralized))
         stack->fClassNs = fXML->NewNS(classnode, XmlClassNameSpaceRef(cl), clname);

   } else {
      if (!compressClassNode) {
         if (GetXmlLayout()==kGeneralized) {
            if (!VerifyStackNode(xmlio::Class, "StartInfo")) return;
            if (!VerifyStackAttr("name", clname, "StartInfo")) return;
         } else
            if (!VerifyStackNode(clname, "StartInfo")) return;
         stack = PushStack(StackNode());
      }
   }

   stack->fCompressedClassNode = compressClassNode;
   stack->fInfo = sinfo;
   stack->fIsStreamerInfo = kTRUE;
}

//______________________________________________________________________________
void TBufferXML::DecrementLevel(TVirtualStreamerInfo* info)
{
   // Function is called from TStreamerInfo WriteBuffer and Readbuffer functions
   // and decrease level in xml structure.

   CheckVersionBuf();

   fCanUseCompact = kFALSE;
   fExpectedChain = kFALSE;

   if (gDebug>2)
      Info("DecrementLevel","Class: %s", (info ? info->GetClass()->GetName() : "custom"));

   TXMLStackObj* stack = Stack();

   if (!stack->IsStreamerInfo()) {
      PerformPostProcessing();
      stack = PopStack();  // remove stack of last element
   }

   if (stack->fCompressedClassNode) {
      stack->fInfo = 0;
      stack->fIsStreamerInfo = kFALSE;
      stack->fCompressedClassNode = kFALSE;
   } else {
      PopStack();                       // back from data of stack info
      if (IsReading()) ShiftStack("declevel"); // shift to next element after streamer info
   }
}

//______________________________________________________________________________
void TBufferXML::SetStreamerElementNumber(TStreamerElement *elem, Int_t comptype)
{
   // Function is called from TStreamerInfo WriteBuffer and Readbuffer functions
   // and add/verify next element of xml structure
   // This calls allows separate data, correspondent to one class member, from another

   WorkWithElement(elem, comptype);
}

//______________________________________________________________________________
void TBufferXML::WorkWithElement(TStreamerElement* elem, Int_t comp_type)
{
   // This function is a part of SetStreamerElementNumber method.
   // It is introduced for reading of data for specified data memeber of class.
   // Used also in ReadFastArray methods to resolve problem of compressed data,
   // when several data memebers of the same basic type streamed with single ...FastArray call

   CheckVersionBuf();

   fExpectedChain = kFALSE;
   fCanUseCompact = kFALSE;
   fExpectedBaseClass = 0;

   TXMLStackObj* stack = Stack();
   if (stack==0) {
      Error("SetStreamerElementNumber", "stack is empty");
      return;
   }

   if (!stack->IsStreamerInfo()) {  // this is not a first element
      PerformPostProcessing();
      PopStack();           // go level back
      if (IsReading()) ShiftStack("startelem");   // shift to next element, only for reading
      stack = dynamic_cast<TXMLStackObj*> (fStack.Last());
   }

   if (stack==0) {
      Error("SetStreamerElementNumber", "Lost of stack");
      return;
   }

   if (!elem) {
      Error("SetStreamerElementNumber", "Problem in Inc/Dec level");
      return;
   }

   TStreamerInfo* info = stack->fInfo;

   if (!stack->IsStreamerInfo()) {
      Error("SetStreamerElementNumber", "Problem in Inc/Dec level");
      return;
   }
   Int_t number = info ? info->GetElements()->IndexOf(elem) : -1;

   if (gDebug>4) Info("SetStreamerElementNumber", "    Next element %s", elem->GetName());

   Bool_t isBasicType = (elem->GetType()>0) && (elem->GetType()<20);

   fExpectedChain = isBasicType && (comp_type - elem->GetType() == TStreamerInfo::kOffsetL);

   if (fExpectedChain && (gDebug>3)) {
      Info("SetStreamerElementNumber",
           "    Expects chain for elem %s number %d",
            elem->GetName(), number);
   }

   fCanUseCompact = isBasicType && ((elem->GetType()==comp_type) ||
                                    (elem->GetType()==comp_type-TStreamerInfo::kConv) ||
                                    (elem->GetType()==comp_type-TStreamerInfo::kSkip));

   if ((elem->GetType()==TStreamerInfo::kBase) ||
       ((elem->GetType()==TStreamerInfo::kTNamed) && !strcmp(elem->GetName(), TNamed::Class()->GetName())))
      fExpectedBaseClass = elem->GetClassPointer();

   if (fExpectedBaseClass && (gDebug>3))
      Info("SetStreamerElementNumber",
           "   Expects base class %s with standard streamer",
               fExpectedBaseClass->GetName());

   if (IsWriting()) {
      CreateElemNode(elem);
   } else {
      if (!VerifyElemNode(elem)) return;
   }

   stack = Stack();
   stack->fElemNumber = number;
   stack->fIsElemOwner = (number<0);
}

//______________________________________________________________________________
void TBufferXML::ClassBegin(const TClass* cl, Version_t)
{
   // Should be called in the beginning of custom class streamer.
   // Informs buffer data about class which will be streamed now.
   //
   // ClassBegin(), ClassEnd() and ClassMemeber() should be used in
   // custom class streamers to specify which kind of data are
   // now streamed. Such information is used to correctly
   // convert class data to XML. Without that functions calls
   // classes with custom streamers cannot be used with TBufferXML

   WorkWithClass(0, cl);
}

//______________________________________________________________________________
void TBufferXML::ClassEnd(const TClass*)
{
   // Should be called at the end of custom streamer
   // See TBufferXML::ClassBegin for more details

   DecrementLevel(0);
}

//______________________________________________________________________________
void TBufferXML::ClassMember(const char* name, const char* typeName, Int_t arrsize1, Int_t arrsize2)
{
   // Method indicates name and typename of class member,
   // which should be now streamed in custom streamer
   // Following combinations are supported:
   // 1. name = "ClassName", typeName = 0 or typename==ClassName
   //    This is a case, when data of parent class "ClassName" should be streamed.
   //     For instance, if class directly inherited from TObject, custom
   //     streamer should include following code:
   //       b.ClassMember("TObject");
   //       TObject::Streamer(b);
   // 2. Basic data type
   //      b.ClassMember("fInt","Int_t");
   //      b >> fInt;
   // 3. Array of basic data types
   //      b.ClassMember("fArr","Int_t", 5);
   //      b.ReadFastArray(fArr, 5);
   // 4. Object as data member
   //      b.ClassMemeber("fName","TString");
   //      fName.Streamer(b);
   // 5. Pointer on object as data member
   //      b.ClassMemeber("fObj","TObject*");
   //      b.StreamObject(fObj);
   //  arrsize1 and arrsize2 arguments (when specified) indicate first and
   //  second dimension of array. Can be used for array of basic types.
   //  See ClassBegin() method for more details.

   if (typeName==0) typeName = name;

   if ((name==0) || (strlen(name)==0)) {
      Error("ClassMember","Invalid member name");
      fErrorFlag = 1;
      return;
   }

   TString tname = typeName;

   Int_t typ_id(-1), comp_type(-1);

   if (strcmp(typeName,"raw:data")==0)
      typ_id = TStreamerInfo::kMissing;

   if (typ_id<0) {
      TDataType *dt = gROOT->GetType(typeName);
      if (dt!=0)
         if ((dt->GetType()>0) && (dt->GetType()<20))
            typ_id = dt->GetType();
   }

   if (typ_id<0)
      if (strcmp(name, typeName)==0) {
         TClass* cl = TClass::GetClass(tname.Data());
         if (cl!=0) typ_id = TStreamerInfo::kBase;
      }

   if (typ_id<0) {
      Bool_t isptr = kFALSE;
      if (tname[tname.Length()-1]=='*') {
         tname.Resize(tname.Length()-1);
         isptr = kTRUE;
      }
      TClass* cl = TClass::GetClass(tname.Data());
      if (cl==0) {
         Error("ClassMember","Invalid class specifier %s", typeName);
         fErrorFlag = 1;
         return;
      }

      if (cl->IsTObject())
         typ_id = isptr ? TStreamerInfo::kObjectp : TStreamerInfo::kObject;
      else
         typ_id = isptr ? TStreamerInfo::kAnyp : TStreamerInfo::kAny;

      if ((cl==TString::Class()) && !isptr)
         typ_id = TStreamerInfo::kTString;
   }

   TStreamerElement* elem = 0;

   if (typ_id == TStreamerInfo::kMissing) {
      elem = new TStreamerElement(name,"title",0, typ_id, "raw:data");
   } else

   if (typ_id==TStreamerInfo::kBase) {
      TClass* cl = TClass::GetClass(tname.Data());
      if (cl!=0) {
         TStreamerBase* b = new TStreamerBase(tname.Data(), "title", 0);
         b->SetBaseVersion(cl->GetClassVersion());
         elem = b;
      }
   } else

   if ((typ_id>0) && (typ_id<20)) {
      elem = new TStreamerBasicType(name, "title", 0, typ_id, typeName);
      comp_type = typ_id;
   } else

   if ((typ_id==TStreamerInfo::kObject) ||
       (typ_id==TStreamerInfo::kTObject) ||
       (typ_id==TStreamerInfo::kTNamed)) {
      elem = new TStreamerObject(name, "title", 0, tname.Data());
   } else

   if (typ_id==TStreamerInfo::kObjectp) {
      elem = new TStreamerObjectPointer(name, "title", 0, tname.Data());
   } else

   if (typ_id==TStreamerInfo::kAny) {
      elem = new TStreamerObjectAny(name, "title", 0, tname.Data());
   } else

   if (typ_id==TStreamerInfo::kAnyp) {
      elem = new TStreamerObjectAnyPointer(name, "title", 0, tname.Data());
   } else

   if (typ_id==TStreamerInfo::kTString) {
      elem = new TStreamerString(name, "title", 0);
   }

   if (elem==0) {
      Error("ClassMember","Invalid combination name = %s type = %s", name, typeName);
      fErrorFlag = 1;
      return;
   }

   if (arrsize1>0) {
      elem->SetArrayDim(arrsize2>0 ? 2 : 1);
      elem->SetMaxIndex(0, arrsize1);
      if (arrsize2>0)
         elem->SetMaxIndex(1, arrsize2);
   }

   // we indicate that there is no streamerinfo
   WorkWithElement(elem, comp_type);
}

//______________________________________________________________________________
void TBufferXML::PerformPostProcessing()
{
   // Function is converts TObject and TString structures to more compact representation

   if (GetXmlLayout()==kGeneralized) return;

   const TStreamerElement* elem = Stack()->fElem;
   XMLNodePointer_t elemnode = IsWriting() ? Stack()->fNode : Stack(1)->fNode;

   if ((elem==0) || (elemnode==0)) return;

   if (elem->GetType()==TStreamerInfo::kTString) {

      XMLNodePointer_t node = fXML->GetChild(elemnode);
      fXML->SkipEmpty(node);

      XMLNodePointer_t nodecharstar = 0;
      XMLNodePointer_t nodeuchar = 0;
      XMLNodePointer_t nodeint = 0;

      while (node!=0) {
         const char* name = fXML->GetNodeName(node);
         if (strcmp(name, xmlio::UChar)==0) {
            if (nodeuchar) return;
            nodeuchar = node;
         } else
         if (strcmp(name, xmlio::Int)==0) {
            if (nodeint) return;
            nodeint = node;
         } else
         if (strcmp(name, xmlio::CharStar)==0) {
            if (nodecharstar!=0) return;
            nodecharstar = node;
         } else return; // can not be something else
         fXML->ShiftToNext(node);
      }

      if (nodeuchar==0) return;

      TString str;
      if (nodecharstar!=0)
         str = fXML->GetAttr(nodecharstar, xmlio::v);

      fXML->NewAttr(elemnode, 0, "str", str);

      fXML->UnlinkFreeNode(nodeuchar);
      fXML->UnlinkFreeNode(nodeint);
      fXML->UnlinkFreeNode(nodecharstar);
   } else
   if (elem->GetType()==TStreamerInfo::kTObject) {
      XMLNodePointer_t node = fXML->GetChild(elemnode);
      fXML->SkipEmpty(node);

      XMLNodePointer_t vnode = 0;
      XMLNodePointer_t idnode = 0;
      XMLNodePointer_t bitsnode = 0;
      XMLNodePointer_t prnode = 0;
      while (node!=0) {
         const char* name = fXML->GetNodeName(node);

         if (strcmp(name, xmlio::OnlyVersion)==0) {
            if (vnode) return;
            vnode = node;
         } else
         if (strcmp(name, xmlio::UInt)==0) {
            if (idnode==0) idnode = node; else
            if (bitsnode==0) bitsnode = node; else return;
         } else
         if (strcmp(name, xmlio::UShort)==0) {
            if (prnode) return;
            prnode = node;
         } else return;
         fXML->ShiftToNext(node);
      }

      if ((vnode==0) || (idnode==0) || (bitsnode==0)) return;

      TString str = fXML->GetAttr(idnode,xmlio::v);
      fXML->NewAttr(elemnode, 0, "fUniqueID", str);

      str = fXML->GetAttr(bitsnode, xmlio::v);
      UInt_t bits;
      sscanf(str.Data(),"%u", &bits);

      char sbuf[20];
      snprintf(sbuf, sizeof(sbuf), "%x",bits);
      fXML->NewAttr(elemnode, 0, "fBits", sbuf);

      if (prnode!=0) {
         str = fXML->GetAttr(prnode,xmlio::v);
         fXML->NewAttr(elemnode, 0, "fProcessID", str);
      }

      fXML->UnlinkFreeNode(vnode);
      fXML->UnlinkFreeNode(idnode);
      fXML->UnlinkFreeNode(bitsnode);
      fXML->UnlinkFreeNode(prnode);
   }
}

//______________________________________________________________________________
void TBufferXML::PerformPreProcessing(const TStreamerElement* elem, XMLNodePointer_t elemnode)
{
   // Function is unpack TObject and TString structures to be able read
   // them from custom streamers of this objects

   if (GetXmlLayout()==kGeneralized) return;
   if ((elem==0) || (elemnode==0)) return;

   if (elem->GetType()==TStreamerInfo::kTString) {

      if (!fXML->HasAttr(elemnode,"str")) return;
      TString str = fXML->GetAttr(elemnode, "str");
      fXML->FreeAttr(elemnode, "str");

      Int_t len = str.Length();

      XMLNodePointer_t ucharnode = fXML->NewChild(elemnode, 0, xmlio::UChar,0);

      char sbuf[20];
      snprintf(sbuf, sizeof(sbuf), "%d", len);
      if (len<255)
         fXML->NewAttr(ucharnode,0,xmlio::v,sbuf);
      else {
         fXML->NewAttr(ucharnode,0,xmlio::v,"255");
         XMLNodePointer_t intnode = fXML->NewChild(elemnode, 0, xmlio::Int, 0);
         fXML->NewAttr(intnode, 0, xmlio::v, sbuf);
      }
      if (len>0) {
         XMLNodePointer_t node = fXML->NewChild(elemnode, 0, xmlio::CharStar, 0);
         fXML->NewAttr(node, 0, xmlio::v, str);
      }
   } else
   if (elem->GetType()==TStreamerInfo::kTObject) {
      if (!fXML->HasAttr(elemnode, "fUniqueID")) return;
      if (!fXML->HasAttr(elemnode, "fBits")) return;

      TString idstr = fXML->GetAttr(elemnode, "fUniqueID");
      TString bitsstr = fXML->GetAttr(elemnode, "fBits");
      TString prstr = fXML->GetAttr(elemnode, "fProcessID");

      fXML->FreeAttr(elemnode, "fUniqueID");
      fXML->FreeAttr(elemnode, "fBits");
      fXML->FreeAttr(elemnode, "fProcessID");

      XMLNodePointer_t node = fXML->NewChild(elemnode, 0, xmlio::OnlyVersion, 0);
      fXML->NewAttr(node, 0, xmlio::v, "1");

      node = fXML->NewChild(elemnode, 0, xmlio::UInt, 0);
      fXML->NewAttr(node, 0, xmlio::v, idstr);

      UInt_t bits;
      sscanf(bitsstr.Data(),"%x", &bits);
      char sbuf[20];
      snprintf(sbuf, sizeof(sbuf), "%u", bits);

      node = fXML->NewChild(elemnode, 0, xmlio::UInt, 0);
      fXML->NewAttr(node, 0, xmlio::v, sbuf);

      if (prstr.Length()>0) {
         node = fXML->NewChild(elemnode, 0, xmlio::UShort, 0);
         fXML->NewAttr(node, 0, xmlio::v, prstr.Data());
      }
   }
}

//______________________________________________________________________________
void TBufferXML::BeforeIOoperation()
{
  // Function is called before any IO operation of TBuffer
  // Now is used to store version value if no proper calls are discovered

   CheckVersionBuf();
}

//______________________________________________________________________________
TClass* TBufferXML::ReadClass(const TClass*, UInt_t*)
{
   // suppressed function of TBuffer

   return 0;
}

//______________________________________________________________________________
void TBufferXML::WriteClass(const TClass*)
{
   // suppressed function of TBuffer

}

//______________________________________________________________________________
Int_t TBufferXML::CheckByteCount(UInt_t /*r_s */, UInt_t /*r_c*/, const TClass* /*cl*/)
{
   // suppressed function of TBuffer

   return 0;
}

//______________________________________________________________________________
Int_t  TBufferXML::CheckByteCount(UInt_t, UInt_t, const char*)
{
   // suppressed function of TBuffer

   return 0;
}

//______________________________________________________________________________
void TBufferXML::SetByteCount(UInt_t, Bool_t)
{
   // suppressed function of TBuffer

}

//______________________________________________________________________________
void TBufferXML::SkipVersion(const TClass *cl)
{
   // Skip class version from I/O buffer.
   ReadVersion(0,0,cl);
}

//______________________________________________________________________________
Version_t TBufferXML::ReadVersion(UInt_t *start, UInt_t *bcnt, const TClass * /*cl*/)
{
   // read version value from buffer

   BeforeIOoperation();

   Version_t res = 0;

   if (start) *start = 0;
   if (bcnt) *bcnt = 0;

   if (VerifyItemNode(xmlio::OnlyVersion)) {
      res = AtoI(XmlReadValue(xmlio::OnlyVersion));
   } else
   if ((fExpectedBaseClass!=0) && (fXML->HasAttr(Stack(1)->fNode, xmlio::ClassVersion))) {
      res = fXML->GetIntAttr(Stack(1)->fNode, xmlio::ClassVersion);
   } else
   if (fXML->HasAttr(StackNode(), xmlio::ClassVersion)) {
      res = fXML->GetIntAttr(StackNode(), xmlio::ClassVersion);
   } else {
      Error("ReadVersion", "No correspondent tags to read version");;
      fErrorFlag = 1;
   }

   if (gDebug>2) Info("ReadVersion","Version = %d", res);

   return res;
}

//______________________________________________________________________________
void TBufferXML::CheckVersionBuf()
{
   // checks buffer, filled by WriteVersion
   // if next data is arriving, version should be stored in buffer

   if (IsWriting() && (fVersionBuf>=-100)) {
      char sbuf[20];
      snprintf(sbuf, sizeof(sbuf), "%d", fVersionBuf);
      XmlWriteValue(sbuf, xmlio::OnlyVersion);
      fVersionBuf = -111;
   }
}

//______________________________________________________________________________
UInt_t TBufferXML::WriteVersion(const TClass *cl, Bool_t /* useBcnt */)
{
   // Copies class version to buffer, but not writes it to xml
   // Version will be written with next I/O operation or
   // will be added as attribute of class tag, created by IncrementLevel call

   BeforeIOoperation();

   if (fExpectedBaseClass!=cl)
      fExpectedBaseClass = 0;

   fVersionBuf = cl->GetClassVersion();

   if (gDebug>2)
      Info("WriteVersion", "Class: %s, version = %d",
           cl->GetName(), fVersionBuf);

   return 0;
}

//______________________________________________________________________________
void* TBufferXML::ReadObjectAny(const TClass*)
{
   // Read object from buffer. Only used from TBuffer

   BeforeIOoperation();
   if (gDebug>2)
      Info("ReadObjectAny","From node %s", fXML->GetNodeName(StackNode()));
   void* res = XmlReadObject(0);
   return res;
}

//______________________________________________________________________________
void TBufferXML::SkipObjectAny()
{
   // Skip any kind of object from buffer
   // Actually skip only one node on current level of xml structure

   ShiftStack("skipobjectany");                                          \
}

//______________________________________________________________________________
void TBufferXML::WriteObjectClass(const void *actualObjStart, const TClass *actualClass)
{
   // Write object to buffer. Only used from TBuffer

   BeforeIOoperation();
   if (gDebug>2)
      Info("WriteObject","Class %s", (actualClass ? actualClass->GetName() : " null"));
   XmlWriteObject(actualObjStart, actualClass);
}

// Macro to read content of uncompressed array
#define TXMLReadArrayNoncompress(vname) \
{                                       \
   for(Int_t indx=0;indx<n;indx++)      \
     XmlReadBasic(vname[indx]);         \
}

// macro to read content of array with compression
#define TXMLReadArrayContent(vname, arrsize)               \
{                                                          \
   Int_t indx = 0;                                         \
   while(indx<arrsize) {                                   \
     Int_t cnt = 1;                                        \
     if (fXML->HasAttr(StackNode(), xmlio::cnt))         \
        cnt = fXML->GetIntAttr(StackNode(), xmlio::cnt); \
     XmlReadBasic(vname[indx]);                            \
     Int_t curr = indx; indx++;                            \
     while(cnt>1) {                                        \
       vname[indx] = vname[curr];                          \
       cnt--; indx++;                                      \
     }                                                     \
   }                                                       \
}

// macro to read array, which include size attribute
#define TBufferXML_ReadArray(tname, vname)                    \
{                                                             \
   BeforeIOoperation();                                       \
   if (!VerifyItemNode(xmlio::Array,"ReadArray")) return 0; \
   Int_t n = fXML->GetIntAttr(StackNode(), xmlio::Size);    \
   if (n<=0) return 0;                                        \
   if (!vname) vname = new tname[n];                          \
   PushStack(StackNode());                                    \
   TXMLReadArrayContent(vname, n);                            \
   PopStack();                                                \
   ShiftStack("readarr");                                     \
   return n;                                                  \
}

//______________________________________________________________________________
void TBufferXML::ReadFloat16 (Float_t *f, TStreamerElement * /*ele*/)
{
   // read a Float16_t from the buffer
   BeforeIOoperation();
   XmlReadBasic(*f);
}

//______________________________________________________________________________
void TBufferXML::ReadDouble32 (Double_t *d, TStreamerElement * /*ele*/)
{
   // read a Double32_t from the buffer
   BeforeIOoperation();
   XmlReadBasic(*d);
}

//______________________________________________________________________________
void TBufferXML::ReadWithFactor(Float_t *ptr, Double_t /* factor */, Double_t /* minvalue */)
{
   // Read a Double32_t from the buffer when the factor and minimun value have been specified
   // see comments about Double32_t encoding at TBufferFile::WriteDouble32().
   // Currently TBufferXML does not optimize space in this case.

   BeforeIOoperation();
   XmlReadBasic(*ptr);
}

//______________________________________________________________________________
void TBufferXML::ReadWithNbits(Float_t *ptr, Int_t /* nbits */)
{
   // Read a Float16_t from the buffer when the number of bits is specified (explicitly or not)
   // see comments about Float16_t encoding at TBufferFile::WriteFloat16().
   // Currently TBufferXML does not optimize space in this case.

   BeforeIOoperation();
   XmlReadBasic(*ptr);
}

//______________________________________________________________________________
void TBufferXML::ReadWithFactor(Double_t *ptr, Double_t /* factor */, Double_t /* minvalue */)
{
   // Read a Double32_t from the buffer when the factor and minimun value have been specified
   // see comments about Double32_t encoding at TBufferFile::WriteDouble32().
   // Currently TBufferXML does not optimize space in this case.

   BeforeIOoperation();
   XmlReadBasic(*ptr);
}

//______________________________________________________________________________
void TBufferXML::ReadWithNbits(Double_t *ptr, Int_t /* nbits */)
{
   // Read a Double32_t from the buffer when the number of bits is specified (explicitly or not)
   // see comments about Double32_t encoding at TBufferFile::WriteDouble32().
   // Currently TBufferXML does not optimize space in this case.

   BeforeIOoperation();
   XmlReadBasic(*ptr);
}

//______________________________________________________________________________
void TBufferXML::WriteFloat16 (Float_t *f, TStreamerElement * /*ele*/)
{
   // write a Float16_t to the buffer
   BeforeIOoperation();
   XmlWriteBasic(*f);
}

//______________________________________________________________________________
void TBufferXML::WriteDouble32 (Double_t *d, TStreamerElement * /*ele*/)
{
   // write a Double32_t to the buffer
   BeforeIOoperation();
   XmlWriteBasic(*d);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArray(Bool_t    *&b)
{
   // Read array of Bool_t from buffer

   TBufferXML_ReadArray(Bool_t,b);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArray(Char_t    *&c)
{
   // Read array of Char_t from buffer

   TBufferXML_ReadArray(Char_t,c);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArray(UChar_t   *&c)
{
   // Read array of UChar_t from buffer

   TBufferXML_ReadArray(UChar_t,c);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArray(Short_t   *&h)
{
   // Read array of Short_t from buffer

   TBufferXML_ReadArray(Short_t,h);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArray(UShort_t  *&h)
{
   // Read array of UShort_t from buffer

   TBufferXML_ReadArray(UShort_t,h);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArray(Int_t     *&i)
{
   // Read array of Int_t from buffer

   TBufferXML_ReadArray(Int_t,i);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArray(UInt_t    *&i)
{
   // Read array of UInt_t from buffer

   TBufferXML_ReadArray(UInt_t,i);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArray(Long_t    *&l)
{
   // Read array of Long_t from buffer

   TBufferXML_ReadArray(Long_t,l);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArray(ULong_t   *&l)
{
   // Read array of ULong_t from buffer

   TBufferXML_ReadArray(ULong_t,l);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArray(Long64_t  *&l)
{
   // Read array of Long64_t from buffer

   TBufferXML_ReadArray(Long64_t,l);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArray(ULong64_t *&l)
{
   // Read array of ULong64_t from buffer

   TBufferXML_ReadArray(ULong64_t,l);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArray(Float_t   *&f)
{
   // Read array of Float_t from buffer

   TBufferXML_ReadArray(Float_t,f);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArray(Double_t  *&d)
{
   // Read array of Double_t from buffer

   TBufferXML_ReadArray(Double_t,d);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArrayFloat16(Float_t  *&f, TStreamerElement * /*ele*/)
{
   // Read array of Float16_t from buffer

   TBufferXML_ReadArray(Float_t,f);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadArrayDouble32(Double_t  *&d, TStreamerElement * /*ele*/)
{
   // Read array of Double32_t from buffer

   TBufferXML_ReadArray(Double_t,d);
}

// macro to read array from xml buffer
#define TBufferXML_ReadStaticArray(vname)                           \
{                                                                   \
   BeforeIOoperation();                                             \
   if (!VerifyItemNode(xmlio::Array,"ReadStaticArray")) return 0; \
   Int_t n = fXML->GetIntAttr(StackNode(), xmlio::Size);          \
   if (n<=0) return 0;                                              \
   if (!vname) return 0;                                            \
   PushStack(StackNode());                                          \
   TXMLReadArrayContent(vname, n);                                  \
   PopStack();                                                      \
   ShiftStack("readstatarr");                                       \
   return n;                                                        \
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArray(Bool_t    *b)
{
   // Read array of Bool_t from buffer

   TBufferXML_ReadStaticArray(b);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArray(Char_t    *c)
{
   // Read array of Char_t from buffer

   TBufferXML_ReadStaticArray(c);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArray(UChar_t   *c)
{
   // Read array of UChar_t from buffer

   TBufferXML_ReadStaticArray(c);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArray(Short_t   *h)
{
   // Read array of Short_t from buffer

   TBufferXML_ReadStaticArray(h);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArray(UShort_t  *h)
{
   // Read array of UShort_t from buffer

   TBufferXML_ReadStaticArray(h);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArray(Int_t     *i)
{
   // Read array of Int_t from buffer

   TBufferXML_ReadStaticArray(i);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArray(UInt_t    *i)
{
   // Read array of UInt_t from buffer

   TBufferXML_ReadStaticArray(i);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArray(Long_t    *l)
{
   // Read array of Long_t from buffer

   TBufferXML_ReadStaticArray(l);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArray(ULong_t   *l)
{
   // Read array of ULong_t from buffer

   TBufferXML_ReadStaticArray(l);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArray(Long64_t  *l)
{
   // Read array of Long64_t from buffer

   TBufferXML_ReadStaticArray(l);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArray(ULong64_t *l)
{
   // Read array of ULong64_t from buffer

   TBufferXML_ReadStaticArray(l);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArray(Float_t   *f)
{
   // Read array of Float_t from buffer

   TBufferXML_ReadStaticArray(f);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArray(Double_t  *d)
{
   // Read array of Double_t from buffer

   TBufferXML_ReadStaticArray(d);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArrayFloat16(Float_t  *f, TStreamerElement * /*ele*/)
{
   // Read array of Float16_t from buffer

   TBufferXML_ReadStaticArray(f);
}

//______________________________________________________________________________
Int_t TBufferXML::ReadStaticArrayDouble32(Double_t  *d, TStreamerElement * /*ele*/)
{
   // Read array of Double32_t from buffer

   TBufferXML_ReadStaticArray(d);
}

// macro to read content of array, which not include size of array
// macro also treat situation, when instead of one single array chain
// of several elements should be produced
#define TBufferXML_ReadFastArray(vname)                                   \
{                                                                         \
   BeforeIOoperation();                                                   \
   if (n<=0) return;                                                      \
   TStreamerElement* elem = Stack(0)->fElem;                              \
   if ((elem!=0) && (elem->GetType()>TStreamerInfo::kOffsetL) &&          \
       (elem->GetType()<TStreamerInfo::kOffsetP) &&                       \
       (elem->GetArrayLength()!=n)) fExpectedChain = kTRUE;               \
   if (fExpectedChain) {                                                  \
      fExpectedChain = kFALSE;                                            \
      Int_t startnumber = Stack(0)->fElemNumber;                          \
      TStreamerInfo* info = Stack(1)->fInfo;                              \
      Int_t index = 0;                                                    \
      while (index<n) {                                                   \
        elem = (TStreamerElement*)info->GetElements()->At(startnumber++); \
        if (elem->GetType()<TStreamerInfo::kOffsetL) {                    \
           if (index>0) { PopStack(); ShiftStack("chainreader"); VerifyElemNode(elem); }  \
           fCanUseCompact = kTRUE;                                        \
           XmlReadBasic(vname[index]);                                    \
           index++;                                                       \
        } else {                                                          \
           if (!VerifyItemNode(xmlio::Array,"ReadFastArray")) return;     \
           PushStack(StackNode());                                        \
           Int_t elemlen = elem->GetArrayLength();                        \
           TXMLReadArrayContent((vname+index), elemlen);                  \
           PopStack();                                                    \
           ShiftStack("readfastarr");                                     \
           index+=elemlen;                                                \
        }                                                                 \
      }                                                                   \
   } else {                                                               \
      if (!VerifyItemNode(xmlio::Array,"ReadFastArray")) return;          \
      PushStack(StackNode());                                             \
      TXMLReadArrayContent(vname, n);                                     \
      PopStack();                                                         \
      ShiftStack("readfastarr");                                          \
   }                                                                      \
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(Bool_t    *b, Int_t n)
{
   // read array of Bool_t from buffer

   TBufferXML_ReadFastArray(b);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(Char_t    *c, Int_t n)
{
   // read array of Char_t from buffer
   // if nodename==CharStar, read all array as string

   if ((n>0) && VerifyItemNode(xmlio::CharStar)) {
      const char* buf;
      if ((buf = XmlReadValue(xmlio::CharStar))) {
         Int_t size = strlen(buf);
         if (size<n) size = n;
         memcpy(c, buf, size);
      }
   } else
      TBufferXML_ReadFastArray(c);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(UChar_t   *c, Int_t n)
{
   // read array of UChar_t from buffer

   TBufferXML_ReadFastArray(c);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(Short_t   *h, Int_t n)
{
   // read array of Short_t from buffer

   TBufferXML_ReadFastArray(h);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(UShort_t  *h, Int_t n)
{
   // read array of UShort_t from buffer

   TBufferXML_ReadFastArray(h);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(Int_t     *i, Int_t n)
{
   // read array of Int_t from buffer

   TBufferXML_ReadFastArray(i);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(UInt_t    *i, Int_t n)
{
   // read array of UInt_t from buffer

   TBufferXML_ReadFastArray(i);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(Long_t    *l, Int_t n)
{
   // read array of Long_t from buffer

   TBufferXML_ReadFastArray(l);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(ULong_t   *l, Int_t n)
{
   // read array of ULong_t from buffer

   TBufferXML_ReadFastArray(l);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(Long64_t  *l, Int_t n)
{
   // read array of Long64_t from buffer

   TBufferXML_ReadFastArray(l);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(ULong64_t *l, Int_t n)
{
   // read array of ULong64_t from buffer

   TBufferXML_ReadFastArray(l);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(Float_t   *f, Int_t n)
{
   // read array of Float_t from buffer

   TBufferXML_ReadFastArray(f);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(Double_t  *d, Int_t n)
{
   // read array of Double_t from buffer

   TBufferXML_ReadFastArray(d);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArrayFloat16(Float_t  *f, Int_t n, TStreamerElement * /*ele*/)
{
   // read array of Float16_t from buffer

   TBufferXML_ReadFastArray(f);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArrayWithFactor(Float_t  *f, Int_t n, Double_t /* factor */, Double_t /* minvalue */)
{
   // read array of Float16_t from buffer

   TBufferXML_ReadFastArray(f);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArrayWithNbits(Float_t  *f, Int_t n, Int_t /*nbits*/)
{
   // read array of Float16_t from buffer

   TBufferXML_ReadFastArray(f);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArrayDouble32(Double_t  *d, Int_t n, TStreamerElement * /*ele*/)
{
   // read array of Double32_t from buffer

   TBufferXML_ReadFastArray(d);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArrayWithFactor(Double_t  *d, Int_t n, Double_t /* factor */, Double_t /* minvalue */)
{
   // read array of Double32_t from buffer

   TBufferXML_ReadFastArray(d);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArrayWithNbits(Double_t  *d, Int_t n, Int_t /*nbits*/)
{
   // read array of Double32_t from buffer

   TBufferXML_ReadFastArray(d);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(void  *start, const TClass *cl, Int_t n, TMemberStreamer *s, const TClass *onFileClass)
{
   // redefined here to avoid warning message from gcc

   TBufferFile::ReadFastArray(start, cl, n, s, onFileClass);
}

//______________________________________________________________________________
void TBufferXML::ReadFastArray(void **startp, const TClass *cl, Int_t n, Bool_t isPreAlloc, TMemberStreamer *s, const TClass *onFileClass)
{
   // redefined here to avoid warning message from gcc

   TBufferFile::ReadFastArray(startp, cl, n, isPreAlloc, s, onFileClass);
}

// macro to write content of noncompressed array
#define TXMLWriteArrayNoncompress(vname, arrsize) \
{                                                 \
   for(Int_t indx=0;indx<arrsize;indx++)          \
     XmlWriteBasic(vname[indx]);                  \
}

// macro to write content of compressed array
#define TXMLWriteArrayCompress(vname, arrsize)                     \
{                                                                  \
   Int_t indx = 0;                                                 \
   while(indx<arrsize) {                                           \
      XMLNodePointer_t elemnode = XmlWriteBasic(vname[indx]);      \
      Int_t curr = indx; indx++;                                   \
      while ((indx<arrsize) && (vname[indx]==vname[curr])) indx++; \
      if (indx-curr > 1)                                           \
         fXML->NewIntAttr(elemnode, xmlio::cnt, indx-curr);      \
   }                                                               \
}

#define TXMLWriteArrayContent(vname, arrsize)   \
{                                               \
   if (fCompressLevel>0) {                      \
     TXMLWriteArrayCompress(vname, arrsize)     \
   } else {                                     \
     TXMLWriteArrayNoncompress(vname, arrsize)  \
   }                                            \
}

// macro to write array, which include size
#define TBufferXML_WriteArray(vname)                          \
{                                                             \
   BeforeIOoperation();                                       \
   XMLNodePointer_t arrnode = CreateItemNode(xmlio::Array); \
   fXML->NewIntAttr(arrnode, xmlio::Size, n);               \
   PushStack(arrnode);                                        \
   TXMLWriteArrayContent(vname, n);                           \
   PopStack();                                                \
}

//______________________________________________________________________________
void TBufferXML::WriteArray(const Bool_t    *b, Int_t n)
{
   // Write array of Bool_t to buffer

   TBufferXML_WriteArray(b);
}

//______________________________________________________________________________
void TBufferXML::WriteArray(const Char_t    *c, Int_t n)
{
   // Write array of Char_t to buffer

   TBufferXML_WriteArray(c);
}

//______________________________________________________________________________
void TBufferXML::WriteArray(const UChar_t   *c, Int_t n)
{
   // Write array of UChar_t to buffer

   TBufferXML_WriteArray(c);
}

//______________________________________________________________________________
void TBufferXML::WriteArray(const Short_t   *h, Int_t n)
{
   // Write array of Short_t to buffer

   TBufferXML_WriteArray(h);
}

//______________________________________________________________________________
void TBufferXML::WriteArray(const UShort_t  *h, Int_t n)
{
   // Write array of UShort_t to buffer

   TBufferXML_WriteArray(h);
}

//______________________________________________________________________________
void TBufferXML::WriteArray(const Int_t     *i, Int_t n)
{
   // Write array of Int_ to buffer

   TBufferXML_WriteArray(i);
}

//______________________________________________________________________________
void TBufferXML::WriteArray(const UInt_t    *i, Int_t n)
{
   // Write array of UInt_t to buffer

   TBufferXML_WriteArray(i);
}

//______________________________________________________________________________
void TBufferXML::WriteArray(const Long_t    *l, Int_t n)
{
   // Write array of Long_t to buffer

   TBufferXML_WriteArray(l);
}

//______________________________________________________________________________
void TBufferXML::WriteArray(const ULong_t   *l, Int_t n)
{
   // Write array of ULong_t to buffer

   TBufferXML_WriteArray(l);
}

//______________________________________________________________________________
void TBufferXML::WriteArray(const Long64_t  *l, Int_t n)
{
   // Write array of Long64_t to buffer

   TBufferXML_WriteArray(l);
}

//______________________________________________________________________________
void TBufferXML::WriteArray(const ULong64_t *l, Int_t n)
{
   // Write array of ULong64_t to buffer

   TBufferXML_WriteArray(l);
}

//______________________________________________________________________________
void TBufferXML::WriteArray(const Float_t   *f, Int_t n)
{
   // Write array of Float_t to buffer

   TBufferXML_WriteArray(f);
}

//______________________________________________________________________________
void TBufferXML::WriteArray(const Double_t  *d, Int_t n)
{
   // Write array of Double_t to buffer

   TBufferXML_WriteArray(d);
}

//______________________________________________________________________________
void TBufferXML::WriteArrayFloat16(const Float_t  *f, Int_t n, TStreamerElement * /*ele*/)
{
   // Write array of Float16_t to buffer

   TBufferXML_WriteArray(f);
}

//______________________________________________________________________________
void TBufferXML::WriteArrayDouble32(const Double_t  *d, Int_t n, TStreamerElement * /*ele*/)
{
   // Write array of Double32_t to buffer

   TBufferXML_WriteArray(d);
}

// write array without size attribute
// macro also treat situation, when instead of one single array
// chain of several elements should be produced
#define TBufferXML_WriteFastArray(vname)                                  \
{                                                                         \
   BeforeIOoperation();                                                   \
   if (n<=0) return;                                                      \
   TStreamerElement* elem = Stack(0)->fElem;                              \
   if ((elem!=0) && (elem->GetType()>TStreamerInfo::kOffsetL) &&          \
       (elem->GetType()<TStreamerInfo::kOffsetP) &&                       \
       (elem->GetArrayLength()!=n)) fExpectedChain = kTRUE;               \
   if (fExpectedChain) {                                                  \
      TStreamerInfo* info = Stack(1)->fInfo;                              \
      Int_t startnumber = Stack(0)->fElemNumber;                          \
      fExpectedChain = kFALSE;                                            \
      Int_t index = 0;                                                    \
      while (index<n) {                                                   \
        elem =(TStreamerElement*)info->GetElements()->At(startnumber++);  \
        if (elem->GetType()<TStreamerInfo::kOffsetL) {                    \
          if(index>0) { PopStack(); CreateElemNode(elem); }               \
          fCanUseCompact = kTRUE;                                         \
          XmlWriteBasic(vname[index]);                                    \
          index++;                                                        \
        } else {                                                          \
          XMLNodePointer_t arrnode = CreateItemNode(xmlio::Array);        \
          Int_t elemlen = elem->GetArrayLength();                         \
          PushStack(arrnode);                                             \
          TXMLWriteArrayContent((vname+index), elemlen);                  \
          index+=elemlen;                                                 \
          PopStack();                                                     \
        }                                                                 \
      }                                                                   \
   } else {                                                               \
      XMLNodePointer_t arrnode = CreateItemNode(xmlio::Array);            \
      PushStack(arrnode);                                                 \
      TXMLWriteArrayContent(vname, n);                                    \
      PopStack();                                                         \
   }                                                                      \
}

//______________________________________________________________________________
void TBufferXML::WriteFastArray(const Bool_t    *b, Int_t n)
{
   // Write array of Bool_t to buffer

   TBufferXML_WriteFastArray(b);
}

//______________________________________________________________________________
void TBufferXML::WriteFastArray(const Char_t    *c, Int_t n)
{
   // Write array of Char_t to buffer
   // If array does not include any special characters,
   // it will be reproduced as CharStar node with string as attribute

   Bool_t usedefault = (n==0) || fExpectedChain;
   const Char_t* buf = c;
   if (!usedefault)
      for (int i=0;i<n;i++) {
         if (*buf < 27) { usedefault = kTRUE; break; }
         buf++;
      }
   if (usedefault) {
      TBufferXML_WriteFastArray(c);
   } else {
      Char_t* buf2 = new Char_t[n+1];
      memcpy(buf2, c, n);
      buf2[n] = 0;
      XmlWriteValue(buf2, xmlio::CharStar);
      delete[] buf2;
   }
}

//______________________________________________________________________________
void TBufferXML::WriteFastArray(const UChar_t   *c, Int_t n)
{
   // Write array of UChar_t to buffer

   TBufferXML_WriteFastArray(c);
}

//______________________________________________________________________________
void TBufferXML::WriteFastArray(const Short_t   *h, Int_t n)
{
   // Write array of Short_t to buffer

   TBufferXML_WriteFastArray(h);
}

//______________________________________________________________________________
void TBufferXML::WriteFastArray(const UShort_t  *h, Int_t n)
{
   // Write array of UShort_t to buffer

   TBufferXML_WriteFastArray(h);
}

//______________________________________________________________________________
void TBufferXML::WriteFastArray(const Int_t     *i, Int_t n)
{
   // Write array of Int_t to buffer

   TBufferXML_WriteFastArray(i);
}

//______________________________________________________________________________
void TBufferXML::WriteFastArray(const UInt_t    *i, Int_t n)
{
   // Write array of UInt_t to buffer

   TBufferXML_WriteFastArray(i);
}

//______________________________________________________________________________
void TBufferXML::WriteFastArray(const Long_t    *l, Int_t n)
{
   // Write array of Long_t to buffer

   TBufferXML_WriteFastArray(l);
}

//______________________________________________________________________________
void TBufferXML::WriteFastArray(const ULong_t   *l, Int_t n)
{
   // Write array of ULong_t to buffer

   TBufferXML_WriteFastArray(l);
}

//______________________________________________________________________________
void TBufferXML::WriteFastArray(const Long64_t  *l, Int_t n)
{
   // Write array of Long64_t to buffer

   TBufferXML_WriteFastArray(l);
}

//______________________________________________________________________________
void TBufferXML::WriteFastArray(const ULong64_t *l, Int_t n)
{
   // Write array of ULong64_t to buffer

   TBufferXML_WriteFastArray(l);
}

//______________________________________________________________________________
void TBufferXML::WriteFastArray(const Float_t   *f, Int_t n)
{
   // Write array of Float_t to buffer

   TBufferXML_WriteFastArray(f);
}

//______________________________________________________________________________
void TBufferXML::WriteFastArray(const Double_t  *d, Int_t n)
{
   // Write array of Double_t to buffer

   TBufferXML_WriteFastArray(d);
}

//______________________________________________________________________________
void TBufferXML::WriteFastArrayFloat16(const Float_t  *f, Int_t n, TStreamerElement * /*ele*/)
{
   // Write array of Float16_t to buffer

   TBufferXML_WriteFastArray(f);
}

//______________________________________________________________________________
void TBufferXML::WriteFastArrayDouble32(const Double_t  *d, Int_t n, TStreamerElement * /*ele*/)
{
   // Write array of Double32_t to buffer

   TBufferXML_WriteFastArray(d);
}

//______________________________________________________________________________
void  TBufferXML::WriteFastArray(void  *start,  const TClass *cl, Int_t n, TMemberStreamer *s)
{
   // Recall TBuffer function to avoid gcc warning message

   TBufferFile::WriteFastArray(start, cl, n, s);
}

//______________________________________________________________________________
Int_t TBufferXML::WriteFastArray(void **startp, const TClass *cl, Int_t n, Bool_t isPreAlloc, TMemberStreamer *s)
{
   // Recall TBuffer function to avoid gcc warning message

   return TBufferFile::WriteFastArray(startp, cl, n, isPreAlloc, s);
}

//______________________________________________________________________________
void TBufferXML::StreamObject(void *obj, const type_info &typeinfo, const TClass* /* onFileClass */ )
{
   // steram object to/from buffer

   StreamObject(obj, TClass::GetClass(typeinfo));
}

//______________________________________________________________________________
void TBufferXML::StreamObject(void *obj, const char *className, const TClass* /* onFileClass */ )
{
   // steram object to/from buffer

   StreamObject(obj, TClass::GetClass(className));
}

void TBufferXML::StreamObject(TObject *obj)
{
   // steram object to/from buffer

   StreamObject(obj, obj ? obj->IsA() : TObject::Class());
}

//______________________________________________________________________________
void TBufferXML::StreamObject(void *obj, const TClass *cl, const TClass* /* onfileClass */ )
{
   // steram object to/from buffer

   BeforeIOoperation();
   if (gDebug>1)
      Info("StreamObject","Class: %s", (cl ? cl->GetName() : "none"));
   if (IsReading())
      XmlReadObject(obj);
   else
      XmlWriteObject(obj, cl);
}

// macro for right shift operator for basic type
#define TBufferXML_operatorin(vname) \
{                                    \
  BeforeIOoperation();               \
  XmlReadBasic(vname);               \
}

//______________________________________________________________________________
void TBufferXML::ReadBool(Bool_t    &b)
{
   // Reads Bool_t value from buffer

   TBufferXML_operatorin(b);
}

//______________________________________________________________________________
void TBufferXML::ReadChar(Char_t    &c)
{
   // Reads Char_t value from buffer

   TBufferXML_operatorin(c);
}

//______________________________________________________________________________
void TBufferXML::ReadUChar(UChar_t   &c)
{
   // Reads UChar_t value from buffer

   TBufferXML_operatorin(c);
}

//______________________________________________________________________________
void TBufferXML::ReadShort(Short_t   &h)
{
   // Reads Short_t value from buffer

   TBufferXML_operatorin(h);
}

//______________________________________________________________________________
void TBufferXML::ReadUShort(UShort_t  &h)
{
   // Reads UShort_t value from buffer

   TBufferXML_operatorin(h);
}

//______________________________________________________________________________
void TBufferXML::ReadInt(Int_t     &i)
{
   // Reads Int_t value from buffer

   TBufferXML_operatorin(i);
}

//______________________________________________________________________________
void TBufferXML::ReadUInt(UInt_t    &i)
{
   // Reads UInt_t value from buffer

   TBufferXML_operatorin(i);
}

//______________________________________________________________________________
void TBufferXML::ReadLong(Long_t    &l)
{
   // Reads Long_t value from buffer

   TBufferXML_operatorin(l);
}

//______________________________________________________________________________
void TBufferXML::ReadULong(ULong_t   &l)
{
   // Reads ULong_t value from buffer

   TBufferXML_operatorin(l);
}

//______________________________________________________________________________
void TBufferXML::ReadLong64(Long64_t  &l)
{
   // Reads Long64_t value from buffer

   TBufferXML_operatorin(l);
}

//______________________________________________________________________________
void TBufferXML::ReadULong64(ULong64_t &l)
{
   // Reads ULong64_t value from buffer

   TBufferXML_operatorin(l);
}

//______________________________________________________________________________
void TBufferXML::ReadFloat(Float_t   &f)
{
   // Reads Float_t value from buffer

   TBufferXML_operatorin(f);
}

//______________________________________________________________________________
void TBufferXML::ReadDouble(Double_t  &d)
{
   // Reads Double_t value from buffer

   TBufferXML_operatorin(d);
}

//______________________________________________________________________________
void TBufferXML::ReadCharP(Char_t    *c)
{
   // Reads array of characters from buffer

   BeforeIOoperation();
   const char* buf;
   if ((buf = XmlReadValue(xmlio::CharStar)))
      strcpy(c, buf);
}

//______________________________________________________________________________
void TBufferXML::ReadTString(TString & /*s*/)
{
   // Reads a TString

   //BeforeIOoperation();
   //const char* buf = XmlReadValue(xmlio::CharStar);
   //strcpy(c, buf);
   //TO BE IMPLEMENTED
}

// macro for left shift operator for basic types
#define TBufferXML_operatorout(vname) \
{                                     \
  BeforeIOoperation();                \
  XmlWriteBasic(vname);               \
}

//______________________________________________________________________________
void TBufferXML::WriteBool(Bool_t    b)
{
   // Writes Bool_t value to buffer

   TBufferXML_operatorout(b);
}

//______________________________________________________________________________
void TBufferXML::WriteChar(Char_t    c)
{
   // Writes Char_t value to buffer

   TBufferXML_operatorout(c);
}

//______________________________________________________________________________
void TBufferXML::WriteUChar(UChar_t   c)
{
   // Writes UChar_t value to buffer

   TBufferXML_operatorout(c);
}

//______________________________________________________________________________
void TBufferXML::WriteShort(Short_t   h)
{
   // Writes Short_t value to buffer

   TBufferXML_operatorout(h);
}

//______________________________________________________________________________
void TBufferXML::WriteUShort(UShort_t  h)
{
   // Writes UShort_t value to buffer

   TBufferXML_operatorout(h);
}

//______________________________________________________________________________
void TBufferXML::WriteInt(Int_t     i)
{
   // Writes Int_t value to buffer

   TBufferXML_operatorout(i);
}

//______________________________________________________________________________
void TBufferXML::WriteUInt(UInt_t    i)
{
   // Writes UInt_t value to buffer

   TBufferXML_operatorout(i);
}

//______________________________________________________________________________
void TBufferXML::WriteLong(Long_t    l)
{
   // Writes Long_t value to buffer

   TBufferXML_operatorout(l);
}

//______________________________________________________________________________
void TBufferXML::WriteULong(ULong_t   l)
{
   // Writes ULong_t value to buffer

   TBufferXML_operatorout(l);
}

//______________________________________________________________________________
void TBufferXML::WriteLong64(Long64_t  l)
{
   // Writes Long64_t value to buffer

   TBufferXML_operatorout(l);
}

//______________________________________________________________________________
void TBufferXML::WriteULong64(ULong64_t l)
{
   // Writes ULong64_t value to buffer

   TBufferXML_operatorout(l);
}

//______________________________________________________________________________
void TBufferXML::WriteFloat(Float_t   f)
{
   // Writes Float_t value to buffer

   TBufferXML_operatorout(f);
}

//______________________________________________________________________________
void TBufferXML::WriteDouble(Double_t  d)
{
   // Writes Double_t value to buffer

   TBufferXML_operatorout(d);
}

//______________________________________________________________________________
void TBufferXML::WriteCharP(const Char_t *c)
{
   // Writes array of characters to buffer

   BeforeIOoperation();
   XmlWriteValue(c, xmlio::CharStar);
}

//______________________________________________________________________________
void TBufferXML::WriteTString(const TString & /*s*/)
{
   // Writes a TString

   //BeforeIOoperation();
   //XmlWriteValue(c, xmlio::CharStar);
   //TO BE IMPLEMENTED
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::XmlWriteBasic(Char_t value)
{
   // converts Char_t to string and add xml node to buffer

   char buf[50];
   snprintf(buf, sizeof(buf), "%d",value);
   return XmlWriteValue(buf, xmlio::Char);
}

//______________________________________________________________________________
XMLNodePointer_t  TBufferXML::XmlWriteBasic(Short_t value)
{
   // converts Short_t to string and add xml node to buffer

   char buf[50];
   snprintf(buf, sizeof(buf), "%hd", value);
   return XmlWriteValue(buf, xmlio::Short);
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::XmlWriteBasic(Int_t value)
{
   // converts Int_t to string and add xml node to buffer

   char buf[50];
   snprintf(buf, sizeof(buf), "%d", value);
   return XmlWriteValue(buf, xmlio::Int);
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::XmlWriteBasic(Long_t value)
{
   // converts Long_t to string and add xml node to buffer

   char buf[50];
   snprintf(buf, sizeof(buf), "%ld", value);
   return XmlWriteValue(buf, xmlio::Long);
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::XmlWriteBasic(Long64_t value)
{
   // converts Long64_t to string and add xml node to buffer

   char buf[50];
   snprintf(buf, sizeof(buf), FLong64, value);
   return XmlWriteValue(buf, xmlio::Long64);
}

//______________________________________________________________________________
XMLNodePointer_t  TBufferXML::XmlWriteBasic(Float_t value)
{
   // converts Float_t to string and add xml node to buffer

   char buf[200];
   snprintf(buf, sizeof(buf), fgFloatFmt.c_str(), value);
   return XmlWriteValue(buf, xmlio::Float);
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::XmlWriteBasic(Double_t value)
{
   // converts Double_t to string and add xml node to buffer

   char buf[1000];
   snprintf(buf, sizeof(buf), fgFloatFmt.c_str(), value);
   return XmlWriteValue(buf, xmlio::Double);
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::XmlWriteBasic(Bool_t value)
{
   // converts Bool_t to string and add xml node to buffer

   return XmlWriteValue(value ? xmlio::True : xmlio::False, xmlio::Bool);
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::XmlWriteBasic(UChar_t value)
{
   // converts UChar_t to string and add xml node to buffer

   char buf[50];
   snprintf(buf, sizeof(buf), "%u", value);
   return XmlWriteValue(buf, xmlio::UChar);
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::XmlWriteBasic(UShort_t value)
{
   // converts UShort_t to string and add xml node to buffer

   char buf[50];
   snprintf(buf, sizeof(buf), "%hu", value);
   return XmlWriteValue(buf, xmlio::UShort);
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::XmlWriteBasic(UInt_t value)
{
   // converts UInt_t to string and add xml node to buffer

   char buf[50];
   snprintf(buf, sizeof(buf), "%u", value);
   return XmlWriteValue(buf, xmlio::UInt);
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::XmlWriteBasic(ULong_t value)
{
   // converts ULong_t to string and add xml node to buffer

   char buf[50];
   snprintf(buf, sizeof(buf), "%lu", value);
   return XmlWriteValue(buf, xmlio::ULong);
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::XmlWriteBasic(ULong64_t value)
{
   // converts ULong64_t to string and add xml node to buffer

   char buf[50];
   snprintf(buf, sizeof(buf), FULong64, value);
   return XmlWriteValue(buf, xmlio::ULong64);
}

//______________________________________________________________________________
XMLNodePointer_t TBufferXML::XmlWriteValue(const char* value, const char* name)
{
   // create xml node with specified name and adds it to stack node

   XMLNodePointer_t node = 0;

   if (fCanUseCompact)
      node = StackNode();
   else
      node = CreateItemNode(name);

   fXML->NewAttr(node, 0, xmlio::v, value);

   fCanUseCompact = kFALSE;

   return node;
}

//______________________________________________________________________________
void TBufferXML::XmlReadBasic(Char_t& value)
{
   // reads string from current xml node and convert it to Char_t value

   const char* res = XmlReadValue(xmlio::Char);
   if (res) {
      int n;
      sscanf(res,"%d", &n);
      value = n;
   } else
      value = 0;
}

//______________________________________________________________________________
void TBufferXML::XmlReadBasic(Short_t& value)
{
   // reads string from current xml node and convert it to Short_t value

   const char* res = XmlReadValue(xmlio::Short);
   if (res)
      sscanf(res,"%hd", &value);
   else
      value = 0;
}

//______________________________________________________________________________
void TBufferXML::XmlReadBasic(Int_t& value)
{
   // reads string from current xml node and convert it to Int_t value

   const char* res = XmlReadValue(xmlio::Int);
   if (res)
      sscanf(res,"%d", &value);
   else
      value = 0;
}

//______________________________________________________________________________
void TBufferXML::XmlReadBasic(Long_t& value)
{
   // reads string from current xml node and convert it to Long_t value

   const char* res = XmlReadValue(xmlio::Long);
   if (res)
      sscanf(res,"%ld", &value);
   else
      value = 0;
}

//______________________________________________________________________________
void TBufferXML::XmlReadBasic(Long64_t& value)
{
   // reads string from current xml node and convert it to Long64_t value

   const char* res = XmlReadValue(xmlio::Long64);
   if (res)
      sscanf(res, FLong64, &value);
   else
      value = 0;
}

//______________________________________________________________________________
void TBufferXML::XmlReadBasic(Float_t& value)
{
   // reads string from current xml node and convert it to Float_t value

   const char* res = XmlReadValue(xmlio::Float);
   if (res)
      sscanf(res, "%f", &value);
   else
      value = 0.;
}

//______________________________________________________________________________
void TBufferXML::XmlReadBasic(Double_t& value)
{
   // reads string from current xml node and convert it to Double_t value

   const char* res = XmlReadValue(xmlio::Double);
   if (res)
      sscanf(res, "%lf", &value);
   else
      value = 0.;
}

//______________________________________________________________________________
void TBufferXML::XmlReadBasic(Bool_t& value)
{
   // reads string from current xml node and convert it to Bool_t value

   const char* res = XmlReadValue(xmlio::Bool);
   if (res)
      value = (strcmp(res, xmlio::True)==0);
   else
      value = kFALSE;
}

//______________________________________________________________________________
void TBufferXML::XmlReadBasic(UChar_t& value)
{
   // reads string from current xml node and convert it to UChar_t value

   const char* res = XmlReadValue(xmlio::UChar);
   if (res) {
      unsigned int n;
      sscanf(res,"%ud", &n);
      value = n;
   } else
      value = 0;
}

//______________________________________________________________________________
void TBufferXML::XmlReadBasic(UShort_t& value)
{
   // reads string from current xml node and convert it to UShort_t value

   const char* res = XmlReadValue(xmlio::UShort);
   if (res)
      sscanf(res,"%hud", &value);
   else
      value = 0;
}

//______________________________________________________________________________
void TBufferXML::XmlReadBasic(UInt_t& value)
{
   // reads string from current xml node and convert it to UInt_t value

   const char* res = XmlReadValue(xmlio::UInt);
   if (res)
      sscanf(res,"%u", &value);
   else
      value = 0;
}

//______________________________________________________________________________
void TBufferXML::XmlReadBasic(ULong_t& value)
{
   // reads string from current xml node and convert it to ULong_t value

   const char* res = XmlReadValue(xmlio::ULong);
   if (res)
      sscanf(res,"%lu", &value);
   else
      value = 0;
}

//______________________________________________________________________________
void TBufferXML::XmlReadBasic(ULong64_t& value)
{
   // reads string from current xml node and convert it to ULong64_t value

   const char* res = XmlReadValue(xmlio::ULong64);
   if (res)
      sscanf(res, FULong64, &value);
   else
      value = 0;
}

//______________________________________________________________________________
const char* TBufferXML::XmlReadValue(const char* name)
{
   // read string value from current stack node

   if (fErrorFlag>0) return 0;

   Bool_t trysimple = fCanUseCompact;
   fCanUseCompact = kFALSE;

   if (trysimple) {
      if (fXML->HasAttr(Stack(1)->fNode,xmlio::v))
         fValueBuf = fXML->GetAttr(Stack(1)->fNode, xmlio::v);
      else
         trysimple = kFALSE;
   }

   if (!trysimple) {
      if (!VerifyItemNode(name, "XmlReadValue")) return 0;
      fValueBuf = fXML->GetAttr(StackNode(), xmlio::v);
   }

   if (gDebug>4)
      Info("XmlReadValue","     Name = %s value = %s", name, fValueBuf.Data());

   if (!trysimple)
      ShiftStack("readvalue");

   return fValueBuf.Data();
}

void TBufferXML::SetFloatFormat(const char* fmt)
{
   // Set printf format for float/double members, default "%e"
   // This method is not thread-safe as it changes a global state.

   if (!fmt) fgFloatFmt = "%e";
   fgFloatFmt = fmt;
}

const char* TBufferXML::GetFloatFormat()
{
   // return current printf format for float/double members, default "%e"

   return fgFloatFmt.c_str();
}

//______________________________________________________________________________
Int_t TBufferXML::ApplySequence(const TStreamerInfoActions::TActionSequence &sequence, void *obj)
{
   // Read one collection of objects from the buffer using the StreamerInfoLoopAction.
   // The collection needs to be a split TClonesArray or a split vector of pointers.

   TVirtualStreamerInfo *info = sequence.fStreamerInfo;
   IncrementLevel(info);

   if (gDebug) {
      //loop on all active members
      TStreamerInfoActions::ActionContainer_t::const_iterator end = sequence.fActions.end();
      for(TStreamerInfoActions::ActionContainer_t::const_iterator iter = sequence.fActions.begin();
          iter != end;
          ++iter) {
         // Idea: Try to remove this function call as it is really needed only for XML streaming.
         SetStreamerElementNumber((*iter).fConfiguration->fCompInfo->fElem,(*iter).fConfiguration->fCompInfo->fType);
         (*iter).PrintDebug(*this,obj);
         (*iter)(*this,obj);
      }

   } else {
      //loop on all active members
      TStreamerInfoActions::ActionContainer_t::const_iterator end = sequence.fActions.end();
      for(TStreamerInfoActions::ActionContainer_t::const_iterator iter = sequence.fActions.begin();
          iter != end;
          ++iter) {
         // Idea: Try to remove this function call as it is really needed only for XML streaming.
         SetStreamerElementNumber((*iter).fConfiguration->fCompInfo->fElem,(*iter).fConfiguration->fCompInfo->fType);
         (*iter)(*this,obj);
      }
   }

   DecrementLevel(info);
   return 0;
}

//______________________________________________________________________________
Int_t TBufferXML::ApplySequenceVecPtr(const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection)
{
   // Read one collection of objects from the buffer using the StreamerInfoLoopAction.
   // The collection needs to be a split TClonesArray or a split vector of pointers.

   TVirtualStreamerInfo *info = sequence.fStreamerInfo;
   IncrementLevel(info);

   if (gDebug) {
      //loop on all active members
      TStreamerInfoActions::ActionContainer_t::const_iterator end = sequence.fActions.end();
      for(TStreamerInfoActions::ActionContainer_t::const_iterator iter = sequence.fActions.begin();
          iter != end;
          ++iter) {
         // Idea: Try to remove this function call as it is really needed only for XML streaming.
         SetStreamerElementNumber((*iter).fConfiguration->fCompInfo->fElem,(*iter).fConfiguration->fCompInfo->fType);
         (*iter).PrintDebug(*this,*(char**)start_collection);  // Warning: This limits us to TClonesArray and vector of pointers.
         (*iter)(*this,start_collection,end_collection);
      }

   } else {
      //loop on all active members
      TStreamerInfoActions::ActionContainer_t::const_iterator end = sequence.fActions.end();
      for(TStreamerInfoActions::ActionContainer_t::const_iterator iter = sequence.fActions.begin();
          iter != end;
          ++iter) {
         // Idea: Try to remove this function call as it is really needed only for XML streaming.
         SetStreamerElementNumber((*iter).fConfiguration->fCompInfo->fElem,(*iter).fConfiguration->fCompInfo->fType);
         (*iter)(*this,start_collection,end_collection);
      }
   }

   DecrementLevel(info);
   return 0;
}

//______________________________________________________________________________
Int_t TBufferXML::ApplySequence(const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection)
{
   // Read one collection of objects from the buffer using the StreamerInfoLoopAction.

   TVirtualStreamerInfo *info = sequence.fStreamerInfo;
   IncrementLevel(info);

   TStreamerInfoActions::TLoopConfiguration *loopconfig = sequence.fLoopConfig;
   if (gDebug) {

      // Get the address of the first item for the PrintDebug.
      // (Performance is not essential here since we are going to print to
      // the screen anyway).
      void *arr0 = loopconfig->GetFirstAddress(start_collection,end_collection);
      // loop on all active members
      TStreamerInfoActions::ActionContainer_t::const_iterator end = sequence.fActions.end();
      for(TStreamerInfoActions::ActionContainer_t::const_iterator iter = sequence.fActions.begin();
          iter != end;
          ++iter) {
         // Idea: Try to remove this function call as it is really needed only for XML streaming.
         SetStreamerElementNumber((*iter).fConfiguration->fCompInfo->fElem,(*iter).fConfiguration->fCompInfo->fType);
         (*iter).PrintDebug(*this,arr0);
         (*iter)(*this,start_collection,end_collection,loopconfig);
      }

   } else {
      //loop on all active members
      TStreamerInfoActions::ActionContainer_t::const_iterator end = sequence.fActions.end();
      for(TStreamerInfoActions::ActionContainer_t::const_iterator iter = sequence.fActions.begin();
          iter != end;
          ++iter) {
         // Idea: Try to remove this function call as it is really needed only for XML streaming.
         SetStreamerElementNumber((*iter).fConfiguration->fCompInfo->fElem,(*iter).fConfiguration->fCompInfo->fType);
         (*iter)(*this,start_collection,end_collection,loopconfig);
      }
   }

   DecrementLevel(info);
   return 0;
}
 TBufferXML.cxx:1
 TBufferXML.cxx:2
 TBufferXML.cxx:3
 TBufferXML.cxx:4
 TBufferXML.cxx:5
 TBufferXML.cxx:6
 TBufferXML.cxx:7
 TBufferXML.cxx:8
 TBufferXML.cxx:9
 TBufferXML.cxx:10
 TBufferXML.cxx:11
 TBufferXML.cxx:12
 TBufferXML.cxx:13
 TBufferXML.cxx:14
 TBufferXML.cxx:15
 TBufferXML.cxx:16
 TBufferXML.cxx:17
 TBufferXML.cxx:18
 TBufferXML.cxx:19
 TBufferXML.cxx:20
 TBufferXML.cxx:21
 TBufferXML.cxx:22
 TBufferXML.cxx:23
 TBufferXML.cxx:24
 TBufferXML.cxx:25
 TBufferXML.cxx:26
 TBufferXML.cxx:27
 TBufferXML.cxx:28
 TBufferXML.cxx:29
 TBufferXML.cxx:30
 TBufferXML.cxx:31
 TBufferXML.cxx:32
 TBufferXML.cxx:33
 TBufferXML.cxx:34
 TBufferXML.cxx:35
 TBufferXML.cxx:36
 TBufferXML.cxx:37
 TBufferXML.cxx:38
 TBufferXML.cxx:39
 TBufferXML.cxx:40
 TBufferXML.cxx:41
 TBufferXML.cxx:42
 TBufferXML.cxx:43
 TBufferXML.cxx:44
 TBufferXML.cxx:45
 TBufferXML.cxx:46
 TBufferXML.cxx:47
 TBufferXML.cxx:48
 TBufferXML.cxx:49
 TBufferXML.cxx:50
 TBufferXML.cxx:51
 TBufferXML.cxx:52
 TBufferXML.cxx:53
 TBufferXML.cxx:54
 TBufferXML.cxx:55
 TBufferXML.cxx:56
 TBufferXML.cxx:57
 TBufferXML.cxx:58
 TBufferXML.cxx:59
 TBufferXML.cxx:60
 TBufferXML.cxx:61
 TBufferXML.cxx:62
 TBufferXML.cxx:63
 TBufferXML.cxx:64
 TBufferXML.cxx:65
 TBufferXML.cxx:66
 TBufferXML.cxx:67
 TBufferXML.cxx:68
 TBufferXML.cxx:69
 TBufferXML.cxx:70
 TBufferXML.cxx:71
 TBufferXML.cxx:72
 TBufferXML.cxx:73
 TBufferXML.cxx:74
 TBufferXML.cxx:75
 TBufferXML.cxx:76
 TBufferXML.cxx:77
 TBufferXML.cxx:78
 TBufferXML.cxx:79
 TBufferXML.cxx:80
 TBufferXML.cxx:81
 TBufferXML.cxx:82
 TBufferXML.cxx:83
 TBufferXML.cxx:84
 TBufferXML.cxx:85
 TBufferXML.cxx:86
 TBufferXML.cxx:87
 TBufferXML.cxx:88
 TBufferXML.cxx:89
 TBufferXML.cxx:90
 TBufferXML.cxx:91
 TBufferXML.cxx:92
 TBufferXML.cxx:93
 TBufferXML.cxx:94
 TBufferXML.cxx:95
 TBufferXML.cxx:96
 TBufferXML.cxx:97
 TBufferXML.cxx:98
 TBufferXML.cxx:99
 TBufferXML.cxx:100
 TBufferXML.cxx:101
 TBufferXML.cxx:102
 TBufferXML.cxx:103
 TBufferXML.cxx:104
 TBufferXML.cxx:105
 TBufferXML.cxx:106
 TBufferXML.cxx:107
 TBufferXML.cxx:108
 TBufferXML.cxx:109
 TBufferXML.cxx:110
 TBufferXML.cxx:111
 TBufferXML.cxx:112
 TBufferXML.cxx:113
 TBufferXML.cxx:114
 TBufferXML.cxx:115
 TBufferXML.cxx:116
 TBufferXML.cxx:117
 TBufferXML.cxx:118
 TBufferXML.cxx:119
 TBufferXML.cxx:120
 TBufferXML.cxx:121
 TBufferXML.cxx:122
 TBufferXML.cxx:123
 TBufferXML.cxx:124
 TBufferXML.cxx:125
 TBufferXML.cxx:126
 TBufferXML.cxx:127
 TBufferXML.cxx:128
 TBufferXML.cxx:129
 TBufferXML.cxx:130
 TBufferXML.cxx:131
 TBufferXML.cxx:132
 TBufferXML.cxx:133
 TBufferXML.cxx:134
 TBufferXML.cxx:135
 TBufferXML.cxx:136
 TBufferXML.cxx:137
 TBufferXML.cxx:138
 TBufferXML.cxx:139
 TBufferXML.cxx:140
 TBufferXML.cxx:141
 TBufferXML.cxx:142
 TBufferXML.cxx:143
 TBufferXML.cxx:144
 TBufferXML.cxx:145
 TBufferXML.cxx:146
 TBufferXML.cxx:147
 TBufferXML.cxx:148
 TBufferXML.cxx:149
 TBufferXML.cxx:150
 TBufferXML.cxx:151
 TBufferXML.cxx:152
 TBufferXML.cxx:153
 TBufferXML.cxx:154
 TBufferXML.cxx:155
 TBufferXML.cxx:156
 TBufferXML.cxx:157
 TBufferXML.cxx:158
 TBufferXML.cxx:159
 TBufferXML.cxx:160
 TBufferXML.cxx:161
 TBufferXML.cxx:162
 TBufferXML.cxx:163
 TBufferXML.cxx:164
 TBufferXML.cxx:165
 TBufferXML.cxx:166
 TBufferXML.cxx:167
 TBufferXML.cxx:168
 TBufferXML.cxx:169
 TBufferXML.cxx:170
 TBufferXML.cxx:171
 TBufferXML.cxx:172
 TBufferXML.cxx:173
 TBufferXML.cxx:174
 TBufferXML.cxx:175
 TBufferXML.cxx:176
 TBufferXML.cxx:177
 TBufferXML.cxx:178
 TBufferXML.cxx:179
 TBufferXML.cxx:180
 TBufferXML.cxx:181
 TBufferXML.cxx:182
 TBufferXML.cxx:183
 TBufferXML.cxx:184
 TBufferXML.cxx:185
 TBufferXML.cxx:186
 TBufferXML.cxx:187
 TBufferXML.cxx:188
 TBufferXML.cxx:189
 TBufferXML.cxx:190
 TBufferXML.cxx:191
 TBufferXML.cxx:192
 TBufferXML.cxx:193
 TBufferXML.cxx:194
 TBufferXML.cxx:195
 TBufferXML.cxx:196
 TBufferXML.cxx:197
 TBufferXML.cxx:198
 TBufferXML.cxx:199
 TBufferXML.cxx:200
 TBufferXML.cxx:201
 TBufferXML.cxx:202
 TBufferXML.cxx:203
 TBufferXML.cxx:204
 TBufferXML.cxx:205
 TBufferXML.cxx:206
 TBufferXML.cxx:207
 TBufferXML.cxx:208
 TBufferXML.cxx:209
 TBufferXML.cxx:210
 TBufferXML.cxx:211
 TBufferXML.cxx:212
 TBufferXML.cxx:213
 TBufferXML.cxx:214
 TBufferXML.cxx:215
 TBufferXML.cxx:216
 TBufferXML.cxx:217
 TBufferXML.cxx:218
 TBufferXML.cxx:219
 TBufferXML.cxx:220
 TBufferXML.cxx:221
 TBufferXML.cxx:222
 TBufferXML.cxx:223
 TBufferXML.cxx:224
 TBufferXML.cxx:225
 TBufferXML.cxx:226
 TBufferXML.cxx:227
 TBufferXML.cxx:228
 TBufferXML.cxx:229
 TBufferXML.cxx:230
 TBufferXML.cxx:231
 TBufferXML.cxx:232
 TBufferXML.cxx:233
 TBufferXML.cxx:234
 TBufferXML.cxx:235
 TBufferXML.cxx:236
 TBufferXML.cxx:237
 TBufferXML.cxx:238
 TBufferXML.cxx:239
 TBufferXML.cxx:240
 TBufferXML.cxx:241
 TBufferXML.cxx:242
 TBufferXML.cxx:243
 TBufferXML.cxx:244
 TBufferXML.cxx:245
 TBufferXML.cxx:246
 TBufferXML.cxx:247
 TBufferXML.cxx:248
 TBufferXML.cxx:249
 TBufferXML.cxx:250
 TBufferXML.cxx:251
 TBufferXML.cxx:252
 TBufferXML.cxx:253
 TBufferXML.cxx:254
 TBufferXML.cxx:255
 TBufferXML.cxx:256
 TBufferXML.cxx:257
 TBufferXML.cxx:258
 TBufferXML.cxx:259
 TBufferXML.cxx:260
 TBufferXML.cxx:261
 TBufferXML.cxx:262
 TBufferXML.cxx:263
 TBufferXML.cxx:264
 TBufferXML.cxx:265
 TBufferXML.cxx:266
 TBufferXML.cxx:267
 TBufferXML.cxx:268
 TBufferXML.cxx:269
 TBufferXML.cxx:270
 TBufferXML.cxx:271
 TBufferXML.cxx:272
 TBufferXML.cxx:273
 TBufferXML.cxx:274
 TBufferXML.cxx:275
 TBufferXML.cxx:276
 TBufferXML.cxx:277
 TBufferXML.cxx:278
 TBufferXML.cxx:279
 TBufferXML.cxx:280
 TBufferXML.cxx:281
 TBufferXML.cxx:282
 TBufferXML.cxx:283
 TBufferXML.cxx:284
 TBufferXML.cxx:285
 TBufferXML.cxx:286
 TBufferXML.cxx:287
 TBufferXML.cxx:288
 TBufferXML.cxx:289
 TBufferXML.cxx:290
 TBufferXML.cxx:291
 TBufferXML.cxx:292
 TBufferXML.cxx:293
 TBufferXML.cxx:294
 TBufferXML.cxx:295
 TBufferXML.cxx:296
 TBufferXML.cxx:297
 TBufferXML.cxx:298
 TBufferXML.cxx:299
 TBufferXML.cxx:300
 TBufferXML.cxx:301
 TBufferXML.cxx:302
 TBufferXML.cxx:303
 TBufferXML.cxx:304
 TBufferXML.cxx:305
 TBufferXML.cxx:306
 TBufferXML.cxx:307
 TBufferXML.cxx:308
 TBufferXML.cxx:309
 TBufferXML.cxx:310
 TBufferXML.cxx:311
 TBufferXML.cxx:312
 TBufferXML.cxx:313
 TBufferXML.cxx:314
 TBufferXML.cxx:315
 TBufferXML.cxx:316
 TBufferXML.cxx:317
 TBufferXML.cxx:318
 TBufferXML.cxx:319
 TBufferXML.cxx:320
 TBufferXML.cxx:321
 TBufferXML.cxx:322
 TBufferXML.cxx:323
 TBufferXML.cxx:324
 TBufferXML.cxx:325
 TBufferXML.cxx:326
 TBufferXML.cxx:327
 TBufferXML.cxx:328
 TBufferXML.cxx:329
 TBufferXML.cxx:330
 TBufferXML.cxx:331
 TBufferXML.cxx:332
 TBufferXML.cxx:333
 TBufferXML.cxx:334
 TBufferXML.cxx:335
 TBufferXML.cxx:336
 TBufferXML.cxx:337
 TBufferXML.cxx:338
 TBufferXML.cxx:339
 TBufferXML.cxx:340
 TBufferXML.cxx:341
 TBufferXML.cxx:342
 TBufferXML.cxx:343
 TBufferXML.cxx:344
 TBufferXML.cxx:345
 TBufferXML.cxx:346
 TBufferXML.cxx:347
 TBufferXML.cxx:348
 TBufferXML.cxx:349
 TBufferXML.cxx:350
 TBufferXML.cxx:351
 TBufferXML.cxx:352
 TBufferXML.cxx:353
 TBufferXML.cxx:354
 TBufferXML.cxx:355
 TBufferXML.cxx:356
 TBufferXML.cxx:357
 TBufferXML.cxx:358
 TBufferXML.cxx:359
 TBufferXML.cxx:360
 TBufferXML.cxx:361
 TBufferXML.cxx:362
 TBufferXML.cxx:363
 TBufferXML.cxx:364
 TBufferXML.cxx:365
 TBufferXML.cxx:366
 TBufferXML.cxx:367
 TBufferXML.cxx:368
 TBufferXML.cxx:369
 TBufferXML.cxx:370
 TBufferXML.cxx:371
 TBufferXML.cxx:372
 TBufferXML.cxx:373
 TBufferXML.cxx:374
 TBufferXML.cxx:375
 TBufferXML.cxx:376
 TBufferXML.cxx:377
 TBufferXML.cxx:378
 TBufferXML.cxx:379
 TBufferXML.cxx:380
 TBufferXML.cxx:381
 TBufferXML.cxx:382
 TBufferXML.cxx:383
 TBufferXML.cxx:384
 TBufferXML.cxx:385
 TBufferXML.cxx:386
 TBufferXML.cxx:387
 TBufferXML.cxx:388
 TBufferXML.cxx:389
 TBufferXML.cxx:390
 TBufferXML.cxx:391
 TBufferXML.cxx:392
 TBufferXML.cxx:393
 TBufferXML.cxx:394
 TBufferXML.cxx:395
 TBufferXML.cxx:396
 TBufferXML.cxx:397
 TBufferXML.cxx:398
 TBufferXML.cxx:399
 TBufferXML.cxx:400
 TBufferXML.cxx:401
 TBufferXML.cxx:402
 TBufferXML.cxx:403
 TBufferXML.cxx:404
 TBufferXML.cxx:405
 TBufferXML.cxx:406
 TBufferXML.cxx:407
 TBufferXML.cxx:408
 TBufferXML.cxx:409
 TBufferXML.cxx:410
 TBufferXML.cxx:411
 TBufferXML.cxx:412
 TBufferXML.cxx:413
 TBufferXML.cxx:414
 TBufferXML.cxx:415
 TBufferXML.cxx:416
 TBufferXML.cxx:417
 TBufferXML.cxx:418
 TBufferXML.cxx:419
 TBufferXML.cxx:420
 TBufferXML.cxx:421
 TBufferXML.cxx:422
 TBufferXML.cxx:423
 TBufferXML.cxx:424
 TBufferXML.cxx:425
 TBufferXML.cxx:426
 TBufferXML.cxx:427
 TBufferXML.cxx:428
 TBufferXML.cxx:429
 TBufferXML.cxx:430
 TBufferXML.cxx:431
 TBufferXML.cxx:432
 TBufferXML.cxx:433
 TBufferXML.cxx:434
 TBufferXML.cxx:435
 TBufferXML.cxx:436
 TBufferXML.cxx:437
 TBufferXML.cxx:438
 TBufferXML.cxx:439
 TBufferXML.cxx:440
 TBufferXML.cxx:441
 TBufferXML.cxx:442
 TBufferXML.cxx:443
 TBufferXML.cxx:444
 TBufferXML.cxx:445
 TBufferXML.cxx:446
 TBufferXML.cxx:447
 TBufferXML.cxx:448
 TBufferXML.cxx:449
 TBufferXML.cxx:450
 TBufferXML.cxx:451
 TBufferXML.cxx:452
 TBufferXML.cxx:453
 TBufferXML.cxx:454
 TBufferXML.cxx:455
 TBufferXML.cxx:456
 TBufferXML.cxx:457
 TBufferXML.cxx:458
 TBufferXML.cxx:459
 TBufferXML.cxx:460
 TBufferXML.cxx:461
 TBufferXML.cxx:462
 TBufferXML.cxx:463
 TBufferXML.cxx:464
 TBufferXML.cxx:465
 TBufferXML.cxx:466
 TBufferXML.cxx:467
 TBufferXML.cxx:468
 TBufferXML.cxx:469
 TBufferXML.cxx:470
 TBufferXML.cxx:471
 TBufferXML.cxx:472
 TBufferXML.cxx:473
 TBufferXML.cxx:474
 TBufferXML.cxx:475
 TBufferXML.cxx:476
 TBufferXML.cxx:477
 TBufferXML.cxx:478
 TBufferXML.cxx:479
 TBufferXML.cxx:480
 TBufferXML.cxx:481
 TBufferXML.cxx:482
 TBufferXML.cxx:483
 TBufferXML.cxx:484
 TBufferXML.cxx:485
 TBufferXML.cxx:486
 TBufferXML.cxx:487
 TBufferXML.cxx:488
 TBufferXML.cxx:489
 TBufferXML.cxx:490
 TBufferXML.cxx:491
 TBufferXML.cxx:492
 TBufferXML.cxx:493
 TBufferXML.cxx:494
 TBufferXML.cxx:495
 TBufferXML.cxx:496
 TBufferXML.cxx:497
 TBufferXML.cxx:498
 TBufferXML.cxx:499
 TBufferXML.cxx:500
 TBufferXML.cxx:501
 TBufferXML.cxx:502
 TBufferXML.cxx:503
 TBufferXML.cxx:504
 TBufferXML.cxx:505
 TBufferXML.cxx:506
 TBufferXML.cxx:507
 TBufferXML.cxx:508
 TBufferXML.cxx:509
 TBufferXML.cxx:510
 TBufferXML.cxx:511
 TBufferXML.cxx:512
 TBufferXML.cxx:513
 TBufferXML.cxx:514
 TBufferXML.cxx:515
 TBufferXML.cxx:516
 TBufferXML.cxx:517
 TBufferXML.cxx:518
 TBufferXML.cxx:519
 TBufferXML.cxx:520
 TBufferXML.cxx:521
 TBufferXML.cxx:522
 TBufferXML.cxx:523
 TBufferXML.cxx:524
 TBufferXML.cxx:525
 TBufferXML.cxx:526
 TBufferXML.cxx:527
 TBufferXML.cxx:528
 TBufferXML.cxx:529
 TBufferXML.cxx:530
 TBufferXML.cxx:531
 TBufferXML.cxx:532
 TBufferXML.cxx:533
 TBufferXML.cxx:534
 TBufferXML.cxx:535
 TBufferXML.cxx:536
 TBufferXML.cxx:537
 TBufferXML.cxx:538
 TBufferXML.cxx:539
 TBufferXML.cxx:540
 TBufferXML.cxx:541
 TBufferXML.cxx:542
 TBufferXML.cxx:543
 TBufferXML.cxx:544
 TBufferXML.cxx:545
 TBufferXML.cxx:546
 TBufferXML.cxx:547
 TBufferXML.cxx:548
 TBufferXML.cxx:549
 TBufferXML.cxx:550
 TBufferXML.cxx:551
 TBufferXML.cxx:552
 TBufferXML.cxx:553
 TBufferXML.cxx:554
 TBufferXML.cxx:555
 TBufferXML.cxx:556
 TBufferXML.cxx:557
 TBufferXML.cxx:558
 TBufferXML.cxx:559
 TBufferXML.cxx:560
 TBufferXML.cxx:561
 TBufferXML.cxx:562
 TBufferXML.cxx:563
 TBufferXML.cxx:564
 TBufferXML.cxx:565
 TBufferXML.cxx:566
 TBufferXML.cxx:567
 TBufferXML.cxx:568
 TBufferXML.cxx:569
 TBufferXML.cxx:570
 TBufferXML.cxx:571
 TBufferXML.cxx:572
 TBufferXML.cxx:573
 TBufferXML.cxx:574
 TBufferXML.cxx:575
 TBufferXML.cxx:576
 TBufferXML.cxx:577
 TBufferXML.cxx:578
 TBufferXML.cxx:579
 TBufferXML.cxx:580
 TBufferXML.cxx:581
 TBufferXML.cxx:582
 TBufferXML.cxx:583
 TBufferXML.cxx:584
 TBufferXML.cxx:585
 TBufferXML.cxx:586
 TBufferXML.cxx:587
 TBufferXML.cxx:588
 TBufferXML.cxx:589
 TBufferXML.cxx:590
 TBufferXML.cxx:591
 TBufferXML.cxx:592
 TBufferXML.cxx:593
 TBufferXML.cxx:594
 TBufferXML.cxx:595
 TBufferXML.cxx:596
 TBufferXML.cxx:597
 TBufferXML.cxx:598
 TBufferXML.cxx:599
 TBufferXML.cxx:600
 TBufferXML.cxx:601
 TBufferXML.cxx:602
 TBufferXML.cxx:603
 TBufferXML.cxx:604
 TBufferXML.cxx:605
 TBufferXML.cxx:606
 TBufferXML.cxx:607
 TBufferXML.cxx:608
 TBufferXML.cxx:609
 TBufferXML.cxx:610
 TBufferXML.cxx:611
 TBufferXML.cxx:612
 TBufferXML.cxx:613
 TBufferXML.cxx:614
 TBufferXML.cxx:615
 TBufferXML.cxx:616
 TBufferXML.cxx:617
 TBufferXML.cxx:618
 TBufferXML.cxx:619
 TBufferXML.cxx:620
 TBufferXML.cxx:621
 TBufferXML.cxx:622
 TBufferXML.cxx:623
 TBufferXML.cxx:624
 TBufferXML.cxx:625
 TBufferXML.cxx:626
 TBufferXML.cxx:627
 TBufferXML.cxx:628
 TBufferXML.cxx:629
 TBufferXML.cxx:630
 TBufferXML.cxx:631
 TBufferXML.cxx:632
 TBufferXML.cxx:633
 TBufferXML.cxx:634
 TBufferXML.cxx:635
 TBufferXML.cxx:636
 TBufferXML.cxx:637
 TBufferXML.cxx:638
 TBufferXML.cxx:639
 TBufferXML.cxx:640
 TBufferXML.cxx:641
 TBufferXML.cxx:642
 TBufferXML.cxx:643
 TBufferXML.cxx:644
 TBufferXML.cxx:645
 TBufferXML.cxx:646
 TBufferXML.cxx:647
 TBufferXML.cxx:648
 TBufferXML.cxx:649
 TBufferXML.cxx:650
 TBufferXML.cxx:651
 TBufferXML.cxx:652
 TBufferXML.cxx:653
 TBufferXML.cxx:654
 TBufferXML.cxx:655
 TBufferXML.cxx:656
 TBufferXML.cxx:657
 TBufferXML.cxx:658
 TBufferXML.cxx:659
 TBufferXML.cxx:660
 TBufferXML.cxx:661
 TBufferXML.cxx:662
 TBufferXML.cxx:663
 TBufferXML.cxx:664
 TBufferXML.cxx:665
 TBufferXML.cxx:666
 TBufferXML.cxx:667
 TBufferXML.cxx:668
 TBufferXML.cxx:669
 TBufferXML.cxx:670
 TBufferXML.cxx:671
 TBufferXML.cxx:672
 TBufferXML.cxx:673
 TBufferXML.cxx:674
 TBufferXML.cxx:675
 TBufferXML.cxx:676
 TBufferXML.cxx:677
 TBufferXML.cxx:678
 TBufferXML.cxx:679
 TBufferXML.cxx:680
 TBufferXML.cxx:681
 TBufferXML.cxx:682
 TBufferXML.cxx:683
 TBufferXML.cxx:684
 TBufferXML.cxx:685
 TBufferXML.cxx:686
 TBufferXML.cxx:687
 TBufferXML.cxx:688
 TBufferXML.cxx:689
 TBufferXML.cxx:690
 TBufferXML.cxx:691
 TBufferXML.cxx:692
 TBufferXML.cxx:693
 TBufferXML.cxx:694
 TBufferXML.cxx:695
 TBufferXML.cxx:696
 TBufferXML.cxx:697
 TBufferXML.cxx:698
 TBufferXML.cxx:699
 TBufferXML.cxx:700
 TBufferXML.cxx:701
 TBufferXML.cxx:702
 TBufferXML.cxx:703
 TBufferXML.cxx:704
 TBufferXML.cxx:705
 TBufferXML.cxx:706
 TBufferXML.cxx:707
 TBufferXML.cxx:708
 TBufferXML.cxx:709
 TBufferXML.cxx:710
 TBufferXML.cxx:711
 TBufferXML.cxx:712
 TBufferXML.cxx:713
 TBufferXML.cxx:714
 TBufferXML.cxx:715
 TBufferXML.cxx:716
 TBufferXML.cxx:717
 TBufferXML.cxx:718
 TBufferXML.cxx:719
 TBufferXML.cxx:720
 TBufferXML.cxx:721
 TBufferXML.cxx:722
 TBufferXML.cxx:723
 TBufferXML.cxx:724
 TBufferXML.cxx:725
 TBufferXML.cxx:726
 TBufferXML.cxx:727
 TBufferXML.cxx:728
 TBufferXML.cxx:729
 TBufferXML.cxx:730
 TBufferXML.cxx:731
 TBufferXML.cxx:732
 TBufferXML.cxx:733
 TBufferXML.cxx:734
 TBufferXML.cxx:735
 TBufferXML.cxx:736
 TBufferXML.cxx:737
 TBufferXML.cxx:738
 TBufferXML.cxx:739
 TBufferXML.cxx:740
 TBufferXML.cxx:741
 TBufferXML.cxx:742
 TBufferXML.cxx:743
 TBufferXML.cxx:744
 TBufferXML.cxx:745
 TBufferXML.cxx:746
 TBufferXML.cxx:747
 TBufferXML.cxx:748
 TBufferXML.cxx:749
 TBufferXML.cxx:750
 TBufferXML.cxx:751
 TBufferXML.cxx:752
 TBufferXML.cxx:753
 TBufferXML.cxx:754
 TBufferXML.cxx:755
 TBufferXML.cxx:756
 TBufferXML.cxx:757
 TBufferXML.cxx:758
 TBufferXML.cxx:759
 TBufferXML.cxx:760
 TBufferXML.cxx:761
 TBufferXML.cxx:762
 TBufferXML.cxx:763
 TBufferXML.cxx:764
 TBufferXML.cxx:765
 TBufferXML.cxx:766
 TBufferXML.cxx:767
 TBufferXML.cxx:768
 TBufferXML.cxx:769
 TBufferXML.cxx:770
 TBufferXML.cxx:771
 TBufferXML.cxx:772
 TBufferXML.cxx:773
 TBufferXML.cxx:774
 TBufferXML.cxx:775
 TBufferXML.cxx:776
 TBufferXML.cxx:777
 TBufferXML.cxx:778
 TBufferXML.cxx:779
 TBufferXML.cxx:780
 TBufferXML.cxx:781
 TBufferXML.cxx:782
 TBufferXML.cxx:783
 TBufferXML.cxx:784
 TBufferXML.cxx:785
 TBufferXML.cxx:786
 TBufferXML.cxx:787
 TBufferXML.cxx:788
 TBufferXML.cxx:789
 TBufferXML.cxx:790
 TBufferXML.cxx:791
 TBufferXML.cxx:792
 TBufferXML.cxx:793
 TBufferXML.cxx:794
 TBufferXML.cxx:795
 TBufferXML.cxx:796
 TBufferXML.cxx:797
 TBufferXML.cxx:798
 TBufferXML.cxx:799
 TBufferXML.cxx:800
 TBufferXML.cxx:801
 TBufferXML.cxx:802
 TBufferXML.cxx:803
 TBufferXML.cxx:804
 TBufferXML.cxx:805
 TBufferXML.cxx:806
 TBufferXML.cxx:807
 TBufferXML.cxx:808
 TBufferXML.cxx:809
 TBufferXML.cxx:810
 TBufferXML.cxx:811
 TBufferXML.cxx:812
 TBufferXML.cxx:813
 TBufferXML.cxx:814
 TBufferXML.cxx:815
 TBufferXML.cxx:816
 TBufferXML.cxx:817
 TBufferXML.cxx:818
 TBufferXML.cxx:819
 TBufferXML.cxx:820
 TBufferXML.cxx:821
 TBufferXML.cxx:822
 TBufferXML.cxx:823
 TBufferXML.cxx:824
 TBufferXML.cxx:825
 TBufferXML.cxx:826
 TBufferXML.cxx:827
 TBufferXML.cxx:828
 TBufferXML.cxx:829
 TBufferXML.cxx:830
 TBufferXML.cxx:831
 TBufferXML.cxx:832
 TBufferXML.cxx:833
 TBufferXML.cxx:834
 TBufferXML.cxx:835
 TBufferXML.cxx:836
 TBufferXML.cxx:837
 TBufferXML.cxx:838
 TBufferXML.cxx:839
 TBufferXML.cxx:840
 TBufferXML.cxx:841
 TBufferXML.cxx:842
 TBufferXML.cxx:843
 TBufferXML.cxx:844
 TBufferXML.cxx:845
 TBufferXML.cxx:846
 TBufferXML.cxx:847
 TBufferXML.cxx:848
 TBufferXML.cxx:849
 TBufferXML.cxx:850
 TBufferXML.cxx:851
 TBufferXML.cxx:852
 TBufferXML.cxx:853
 TBufferXML.cxx:854
 TBufferXML.cxx:855
 TBufferXML.cxx:856
 TBufferXML.cxx:857
 TBufferXML.cxx:858
 TBufferXML.cxx:859
 TBufferXML.cxx:860
 TBufferXML.cxx:861
 TBufferXML.cxx:862
 TBufferXML.cxx:863
 TBufferXML.cxx:864
 TBufferXML.cxx:865
 TBufferXML.cxx:866
 TBufferXML.cxx:867
 TBufferXML.cxx:868
 TBufferXML.cxx:869
 TBufferXML.cxx:870
 TBufferXML.cxx:871
 TBufferXML.cxx:872
 TBufferXML.cxx:873
 TBufferXML.cxx:874
 TBufferXML.cxx:875
 TBufferXML.cxx:876
 TBufferXML.cxx:877
 TBufferXML.cxx:878
 TBufferXML.cxx:879
 TBufferXML.cxx:880
 TBufferXML.cxx:881
 TBufferXML.cxx:882
 TBufferXML.cxx:883
 TBufferXML.cxx:884
 TBufferXML.cxx:885
 TBufferXML.cxx:886
 TBufferXML.cxx:887
 TBufferXML.cxx:888
 TBufferXML.cxx:889
 TBufferXML.cxx:890
 TBufferXML.cxx:891
 TBufferXML.cxx:892
 TBufferXML.cxx:893
 TBufferXML.cxx:894
 TBufferXML.cxx:895
 TBufferXML.cxx:896
 TBufferXML.cxx:897
 TBufferXML.cxx:898
 TBufferXML.cxx:899
 TBufferXML.cxx:900
 TBufferXML.cxx:901
 TBufferXML.cxx:902
 TBufferXML.cxx:903
 TBufferXML.cxx:904
 TBufferXML.cxx:905
 TBufferXML.cxx:906
 TBufferXML.cxx:907
 TBufferXML.cxx:908
 TBufferXML.cxx:909
 TBufferXML.cxx:910
 TBufferXML.cxx:911
 TBufferXML.cxx:912
 TBufferXML.cxx:913
 TBufferXML.cxx:914
 TBufferXML.cxx:915
 TBufferXML.cxx:916
 TBufferXML.cxx:917
 TBufferXML.cxx:918
 TBufferXML.cxx:919
 TBufferXML.cxx:920
 TBufferXML.cxx:921
 TBufferXML.cxx:922
 TBufferXML.cxx:923
 TBufferXML.cxx:924
 TBufferXML.cxx:925
 TBufferXML.cxx:926
 TBufferXML.cxx:927
 TBufferXML.cxx:928
 TBufferXML.cxx:929
 TBufferXML.cxx:930
 TBufferXML.cxx:931
 TBufferXML.cxx:932
 TBufferXML.cxx:933
 TBufferXML.cxx:934
 TBufferXML.cxx:935
 TBufferXML.cxx:936
 TBufferXML.cxx:937
 TBufferXML.cxx:938
 TBufferXML.cxx:939
 TBufferXML.cxx:940
 TBufferXML.cxx:941
 TBufferXML.cxx:942
 TBufferXML.cxx:943
 TBufferXML.cxx:944
 TBufferXML.cxx:945
 TBufferXML.cxx:946
 TBufferXML.cxx:947
 TBufferXML.cxx:948
 TBufferXML.cxx:949
 TBufferXML.cxx:950
 TBufferXML.cxx:951
 TBufferXML.cxx:952
 TBufferXML.cxx:953
 TBufferXML.cxx:954
 TBufferXML.cxx:955
 TBufferXML.cxx:956
 TBufferXML.cxx:957
 TBufferXML.cxx:958
 TBufferXML.cxx:959
 TBufferXML.cxx:960
 TBufferXML.cxx:961
 TBufferXML.cxx:962
 TBufferXML.cxx:963
 TBufferXML.cxx:964
 TBufferXML.cxx:965
 TBufferXML.cxx:966
 TBufferXML.cxx:967
 TBufferXML.cxx:968
 TBufferXML.cxx:969
 TBufferXML.cxx:970
 TBufferXML.cxx:971
 TBufferXML.cxx:972
 TBufferXML.cxx:973
 TBufferXML.cxx:974
 TBufferXML.cxx:975
 TBufferXML.cxx:976
 TBufferXML.cxx:977
 TBufferXML.cxx:978
 TBufferXML.cxx:979
 TBufferXML.cxx:980
 TBufferXML.cxx:981
 TBufferXML.cxx:982
 TBufferXML.cxx:983
 TBufferXML.cxx:984
 TBufferXML.cxx:985
 TBufferXML.cxx:986
 TBufferXML.cxx:987
 TBufferXML.cxx:988
 TBufferXML.cxx:989
 TBufferXML.cxx:990
 TBufferXML.cxx:991
 TBufferXML.cxx:992
 TBufferXML.cxx:993
 TBufferXML.cxx:994
 TBufferXML.cxx:995
 TBufferXML.cxx:996
 TBufferXML.cxx:997
 TBufferXML.cxx:998
 TBufferXML.cxx:999
 TBufferXML.cxx:1000
 TBufferXML.cxx:1001
 TBufferXML.cxx:1002
 TBufferXML.cxx:1003
 TBufferXML.cxx:1004
 TBufferXML.cxx:1005
 TBufferXML.cxx:1006
 TBufferXML.cxx:1007
 TBufferXML.cxx:1008
 TBufferXML.cxx:1009
 TBufferXML.cxx:1010
 TBufferXML.cxx:1011
 TBufferXML.cxx:1012
 TBufferXML.cxx:1013
 TBufferXML.cxx:1014
 TBufferXML.cxx:1015
 TBufferXML.cxx:1016
 TBufferXML.cxx:1017
 TBufferXML.cxx:1018
 TBufferXML.cxx:1019
 TBufferXML.cxx:1020
 TBufferXML.cxx:1021
 TBufferXML.cxx:1022
 TBufferXML.cxx:1023
 TBufferXML.cxx:1024
 TBufferXML.cxx:1025
 TBufferXML.cxx:1026
 TBufferXML.cxx:1027
 TBufferXML.cxx:1028
 TBufferXML.cxx:1029
 TBufferXML.cxx:1030
 TBufferXML.cxx:1031
 TBufferXML.cxx:1032
 TBufferXML.cxx:1033
 TBufferXML.cxx:1034
 TBufferXML.cxx:1035
 TBufferXML.cxx:1036
 TBufferXML.cxx:1037
 TBufferXML.cxx:1038
 TBufferXML.cxx:1039
 TBufferXML.cxx:1040
 TBufferXML.cxx:1041
 TBufferXML.cxx:1042
 TBufferXML.cxx:1043
 TBufferXML.cxx:1044
 TBufferXML.cxx:1045
 TBufferXML.cxx:1046
 TBufferXML.cxx:1047
 TBufferXML.cxx:1048
 TBufferXML.cxx:1049
 TBufferXML.cxx:1050
 TBufferXML.cxx:1051
 TBufferXML.cxx:1052
 TBufferXML.cxx:1053
 TBufferXML.cxx:1054
 TBufferXML.cxx:1055
 TBufferXML.cxx:1056
 TBufferXML.cxx:1057
 TBufferXML.cxx:1058
 TBufferXML.cxx:1059
 TBufferXML.cxx:1060
 TBufferXML.cxx:1061
 TBufferXML.cxx:1062
 TBufferXML.cxx:1063
 TBufferXML.cxx:1064
 TBufferXML.cxx:1065
 TBufferXML.cxx:1066
 TBufferXML.cxx:1067
 TBufferXML.cxx:1068
 TBufferXML.cxx:1069
 TBufferXML.cxx:1070
 TBufferXML.cxx:1071
 TBufferXML.cxx:1072
 TBufferXML.cxx:1073
 TBufferXML.cxx:1074
 TBufferXML.cxx:1075
 TBufferXML.cxx:1076
 TBufferXML.cxx:1077
 TBufferXML.cxx:1078
 TBufferXML.cxx:1079
 TBufferXML.cxx:1080
 TBufferXML.cxx:1081
 TBufferXML.cxx:1082
 TBufferXML.cxx:1083
 TBufferXML.cxx:1084
 TBufferXML.cxx:1085
 TBufferXML.cxx:1086
 TBufferXML.cxx:1087
 TBufferXML.cxx:1088
 TBufferXML.cxx:1089
 TBufferXML.cxx:1090
 TBufferXML.cxx:1091
 TBufferXML.cxx:1092
 TBufferXML.cxx:1093
 TBufferXML.cxx:1094
 TBufferXML.cxx:1095
 TBufferXML.cxx:1096
 TBufferXML.cxx:1097
 TBufferXML.cxx:1098
 TBufferXML.cxx:1099
 TBufferXML.cxx:1100
 TBufferXML.cxx:1101
 TBufferXML.cxx:1102
 TBufferXML.cxx:1103
 TBufferXML.cxx:1104
 TBufferXML.cxx:1105
 TBufferXML.cxx:1106
 TBufferXML.cxx:1107
 TBufferXML.cxx:1108
 TBufferXML.cxx:1109
 TBufferXML.cxx:1110
 TBufferXML.cxx:1111
 TBufferXML.cxx:1112
 TBufferXML.cxx:1113
 TBufferXML.cxx:1114
 TBufferXML.cxx:1115
 TBufferXML.cxx:1116
 TBufferXML.cxx:1117
 TBufferXML.cxx:1118
 TBufferXML.cxx:1119
 TBufferXML.cxx:1120
 TBufferXML.cxx:1121
 TBufferXML.cxx:1122
 TBufferXML.cxx:1123
 TBufferXML.cxx:1124
 TBufferXML.cxx:1125
 TBufferXML.cxx:1126
 TBufferXML.cxx:1127
 TBufferXML.cxx:1128
 TBufferXML.cxx:1129
 TBufferXML.cxx:1130
 TBufferXML.cxx:1131
 TBufferXML.cxx:1132
 TBufferXML.cxx:1133
 TBufferXML.cxx:1134
 TBufferXML.cxx:1135
 TBufferXML.cxx:1136
 TBufferXML.cxx:1137
 TBufferXML.cxx:1138
 TBufferXML.cxx:1139
 TBufferXML.cxx:1140
 TBufferXML.cxx:1141
 TBufferXML.cxx:1142
 TBufferXML.cxx:1143
 TBufferXML.cxx:1144
 TBufferXML.cxx:1145
 TBufferXML.cxx:1146
 TBufferXML.cxx:1147
 TBufferXML.cxx:1148
 TBufferXML.cxx:1149
 TBufferXML.cxx:1150
 TBufferXML.cxx:1151
 TBufferXML.cxx:1152
 TBufferXML.cxx:1153
 TBufferXML.cxx:1154
 TBufferXML.cxx:1155
 TBufferXML.cxx:1156
 TBufferXML.cxx:1157
 TBufferXML.cxx:1158
 TBufferXML.cxx:1159
 TBufferXML.cxx:1160
 TBufferXML.cxx:1161
 TBufferXML.cxx:1162
 TBufferXML.cxx:1163
 TBufferXML.cxx:1164
 TBufferXML.cxx:1165
 TBufferXML.cxx:1166
 TBufferXML.cxx:1167
 TBufferXML.cxx:1168
 TBufferXML.cxx:1169
 TBufferXML.cxx:1170
 TBufferXML.cxx:1171
 TBufferXML.cxx:1172
 TBufferXML.cxx:1173
 TBufferXML.cxx:1174
 TBufferXML.cxx:1175
 TBufferXML.cxx:1176
 TBufferXML.cxx:1177
 TBufferXML.cxx:1178
 TBufferXML.cxx:1179
 TBufferXML.cxx:1180
 TBufferXML.cxx:1181
 TBufferXML.cxx:1182
 TBufferXML.cxx:1183
 TBufferXML.cxx:1184
 TBufferXML.cxx:1185
 TBufferXML.cxx:1186
 TBufferXML.cxx:1187
 TBufferXML.cxx:1188
 TBufferXML.cxx:1189
 TBufferXML.cxx:1190
 TBufferXML.cxx:1191
 TBufferXML.cxx:1192
 TBufferXML.cxx:1193
 TBufferXML.cxx:1194
 TBufferXML.cxx:1195
 TBufferXML.cxx:1196
 TBufferXML.cxx:1197
 TBufferXML.cxx:1198
 TBufferXML.cxx:1199
 TBufferXML.cxx:1200
 TBufferXML.cxx:1201
 TBufferXML.cxx:1202
 TBufferXML.cxx:1203
 TBufferXML.cxx:1204
 TBufferXML.cxx:1205
 TBufferXML.cxx:1206
 TBufferXML.cxx:1207
 TBufferXML.cxx:1208
 TBufferXML.cxx:1209
 TBufferXML.cxx:1210
 TBufferXML.cxx:1211
 TBufferXML.cxx:1212
 TBufferXML.cxx:1213
 TBufferXML.cxx:1214
 TBufferXML.cxx:1215
 TBufferXML.cxx:1216
 TBufferXML.cxx:1217
 TBufferXML.cxx:1218
 TBufferXML.cxx:1219
 TBufferXML.cxx:1220
 TBufferXML.cxx:1221
 TBufferXML.cxx:1222
 TBufferXML.cxx:1223
 TBufferXML.cxx:1224
 TBufferXML.cxx:1225
 TBufferXML.cxx:1226
 TBufferXML.cxx:1227
 TBufferXML.cxx:1228
 TBufferXML.cxx:1229
 TBufferXML.cxx:1230
 TBufferXML.cxx:1231
 TBufferXML.cxx:1232
 TBufferXML.cxx:1233
 TBufferXML.cxx:1234
 TBufferXML.cxx:1235
 TBufferXML.cxx:1236
 TBufferXML.cxx:1237
 TBufferXML.cxx:1238
 TBufferXML.cxx:1239
 TBufferXML.cxx:1240
 TBufferXML.cxx:1241
 TBufferXML.cxx:1242
 TBufferXML.cxx:1243
 TBufferXML.cxx:1244
 TBufferXML.cxx:1245
 TBufferXML.cxx:1246
 TBufferXML.cxx:1247
 TBufferXML.cxx:1248
 TBufferXML.cxx:1249
 TBufferXML.cxx:1250
 TBufferXML.cxx:1251
 TBufferXML.cxx:1252
 TBufferXML.cxx:1253
 TBufferXML.cxx:1254
 TBufferXML.cxx:1255
 TBufferXML.cxx:1256
 TBufferXML.cxx:1257
 TBufferXML.cxx:1258
 TBufferXML.cxx:1259
 TBufferXML.cxx:1260
 TBufferXML.cxx:1261
 TBufferXML.cxx:1262
 TBufferXML.cxx:1263
 TBufferXML.cxx:1264
 TBufferXML.cxx:1265
 TBufferXML.cxx:1266
 TBufferXML.cxx:1267
 TBufferXML.cxx:1268
 TBufferXML.cxx:1269
 TBufferXML.cxx:1270
 TBufferXML.cxx:1271
 TBufferXML.cxx:1272
 TBufferXML.cxx:1273
 TBufferXML.cxx:1274
 TBufferXML.cxx:1275
 TBufferXML.cxx:1276
 TBufferXML.cxx:1277
 TBufferXML.cxx:1278
 TBufferXML.cxx:1279
 TBufferXML.cxx:1280
 TBufferXML.cxx:1281
 TBufferXML.cxx:1282
 TBufferXML.cxx:1283
 TBufferXML.cxx:1284
 TBufferXML.cxx:1285
 TBufferXML.cxx:1286
 TBufferXML.cxx:1287
 TBufferXML.cxx:1288
 TBufferXML.cxx:1289
 TBufferXML.cxx:1290
 TBufferXML.cxx:1291
 TBufferXML.cxx:1292
 TBufferXML.cxx:1293
 TBufferXML.cxx:1294
 TBufferXML.cxx:1295
 TBufferXML.cxx:1296
 TBufferXML.cxx:1297
 TBufferXML.cxx:1298
 TBufferXML.cxx:1299
 TBufferXML.cxx:1300
 TBufferXML.cxx:1301
 TBufferXML.cxx:1302
 TBufferXML.cxx:1303
 TBufferXML.cxx:1304
 TBufferXML.cxx:1305
 TBufferXML.cxx:1306
 TBufferXML.cxx:1307
 TBufferXML.cxx:1308
 TBufferXML.cxx:1309
 TBufferXML.cxx:1310
 TBufferXML.cxx:1311
 TBufferXML.cxx:1312
 TBufferXML.cxx:1313
 TBufferXML.cxx:1314
 TBufferXML.cxx:1315
 TBufferXML.cxx:1316
 TBufferXML.cxx:1317
 TBufferXML.cxx:1318
 TBufferXML.cxx:1319
 TBufferXML.cxx:1320
 TBufferXML.cxx:1321
 TBufferXML.cxx:1322
 TBufferXML.cxx:1323
 TBufferXML.cxx:1324
 TBufferXML.cxx:1325
 TBufferXML.cxx:1326
 TBufferXML.cxx:1327
 TBufferXML.cxx:1328
 TBufferXML.cxx:1329
 TBufferXML.cxx:1330
 TBufferXML.cxx:1331
 TBufferXML.cxx:1332
 TBufferXML.cxx:1333
 TBufferXML.cxx:1334
 TBufferXML.cxx:1335
 TBufferXML.cxx:1336
 TBufferXML.cxx:1337
 TBufferXML.cxx:1338
 TBufferXML.cxx:1339
 TBufferXML.cxx:1340
 TBufferXML.cxx:1341
 TBufferXML.cxx:1342
 TBufferXML.cxx:1343
 TBufferXML.cxx:1344
 TBufferXML.cxx:1345
 TBufferXML.cxx:1346
 TBufferXML.cxx:1347
 TBufferXML.cxx:1348
 TBufferXML.cxx:1349
 TBufferXML.cxx:1350
 TBufferXML.cxx:1351
 TBufferXML.cxx:1352
 TBufferXML.cxx:1353
 TBufferXML.cxx:1354
 TBufferXML.cxx:1355
 TBufferXML.cxx:1356
 TBufferXML.cxx:1357
 TBufferXML.cxx:1358
 TBufferXML.cxx:1359
 TBufferXML.cxx:1360
 TBufferXML.cxx:1361
 TBufferXML.cxx:1362
 TBufferXML.cxx:1363
 TBufferXML.cxx:1364
 TBufferXML.cxx:1365
 TBufferXML.cxx:1366
 TBufferXML.cxx:1367
 TBufferXML.cxx:1368
 TBufferXML.cxx:1369
 TBufferXML.cxx:1370
 TBufferXML.cxx:1371
 TBufferXML.cxx:1372
 TBufferXML.cxx:1373
 TBufferXML.cxx:1374
 TBufferXML.cxx:1375
 TBufferXML.cxx:1376
 TBufferXML.cxx:1377
 TBufferXML.cxx:1378
 TBufferXML.cxx:1379
 TBufferXML.cxx:1380
 TBufferXML.cxx:1381
 TBufferXML.cxx:1382
 TBufferXML.cxx:1383
 TBufferXML.cxx:1384
 TBufferXML.cxx:1385
 TBufferXML.cxx:1386
 TBufferXML.cxx:1387
 TBufferXML.cxx:1388
 TBufferXML.cxx:1389
 TBufferXML.cxx:1390
 TBufferXML.cxx:1391
 TBufferXML.cxx:1392
 TBufferXML.cxx:1393
 TBufferXML.cxx:1394
 TBufferXML.cxx:1395
 TBufferXML.cxx:1396
 TBufferXML.cxx:1397
 TBufferXML.cxx:1398
 TBufferXML.cxx:1399
 TBufferXML.cxx:1400
 TBufferXML.cxx:1401
 TBufferXML.cxx:1402
 TBufferXML.cxx:1403
 TBufferXML.cxx:1404
 TBufferXML.cxx:1405
 TBufferXML.cxx:1406
 TBufferXML.cxx:1407
 TBufferXML.cxx:1408
 TBufferXML.cxx:1409
 TBufferXML.cxx:1410
 TBufferXML.cxx:1411
 TBufferXML.cxx:1412
 TBufferXML.cxx:1413
 TBufferXML.cxx:1414
 TBufferXML.cxx:1415
 TBufferXML.cxx:1416
 TBufferXML.cxx:1417
 TBufferXML.cxx:1418
 TBufferXML.cxx:1419
 TBufferXML.cxx:1420
 TBufferXML.cxx:1421
 TBufferXML.cxx:1422
 TBufferXML.cxx:1423
 TBufferXML.cxx:1424
 TBufferXML.cxx:1425
 TBufferXML.cxx:1426
 TBufferXML.cxx:1427
 TBufferXML.cxx:1428
 TBufferXML.cxx:1429
 TBufferXML.cxx:1430
 TBufferXML.cxx:1431
 TBufferXML.cxx:1432
 TBufferXML.cxx:1433
 TBufferXML.cxx:1434
 TBufferXML.cxx:1435
 TBufferXML.cxx:1436
 TBufferXML.cxx:1437
 TBufferXML.cxx:1438
 TBufferXML.cxx:1439
 TBufferXML.cxx:1440
 TBufferXML.cxx:1441
 TBufferXML.cxx:1442
 TBufferXML.cxx:1443
 TBufferXML.cxx:1444
 TBufferXML.cxx:1445
 TBufferXML.cxx:1446
 TBufferXML.cxx:1447
 TBufferXML.cxx:1448
 TBufferXML.cxx:1449
 TBufferXML.cxx:1450
 TBufferXML.cxx:1451
 TBufferXML.cxx:1452
 TBufferXML.cxx:1453
 TBufferXML.cxx:1454
 TBufferXML.cxx:1455
 TBufferXML.cxx:1456
 TBufferXML.cxx:1457
 TBufferXML.cxx:1458
 TBufferXML.cxx:1459
 TBufferXML.cxx:1460
 TBufferXML.cxx:1461
 TBufferXML.cxx:1462
 TBufferXML.cxx:1463
 TBufferXML.cxx:1464
 TBufferXML.cxx:1465
 TBufferXML.cxx:1466
 TBufferXML.cxx:1467
 TBufferXML.cxx:1468
 TBufferXML.cxx:1469
 TBufferXML.cxx:1470
 TBufferXML.cxx:1471
 TBufferXML.cxx:1472
 TBufferXML.cxx:1473
 TBufferXML.cxx:1474
 TBufferXML.cxx:1475
 TBufferXML.cxx:1476
 TBufferXML.cxx:1477
 TBufferXML.cxx:1478
 TBufferXML.cxx:1479
 TBufferXML.cxx:1480
 TBufferXML.cxx:1481
 TBufferXML.cxx:1482
 TBufferXML.cxx:1483
 TBufferXML.cxx:1484
 TBufferXML.cxx:1485
 TBufferXML.cxx:1486
 TBufferXML.cxx:1487
 TBufferXML.cxx:1488
 TBufferXML.cxx:1489
 TBufferXML.cxx:1490
 TBufferXML.cxx:1491
 TBufferXML.cxx:1492
 TBufferXML.cxx:1493
 TBufferXML.cxx:1494
 TBufferXML.cxx:1495
 TBufferXML.cxx:1496
 TBufferXML.cxx:1497
 TBufferXML.cxx:1498
 TBufferXML.cxx:1499
 TBufferXML.cxx:1500
 TBufferXML.cxx:1501
 TBufferXML.cxx:1502
 TBufferXML.cxx:1503
 TBufferXML.cxx:1504
 TBufferXML.cxx:1505
 TBufferXML.cxx:1506
 TBufferXML.cxx:1507
 TBufferXML.cxx:1508
 TBufferXML.cxx:1509
 TBufferXML.cxx:1510
 TBufferXML.cxx:1511
 TBufferXML.cxx:1512
 TBufferXML.cxx:1513
 TBufferXML.cxx:1514
 TBufferXML.cxx:1515
 TBufferXML.cxx:1516
 TBufferXML.cxx:1517
 TBufferXML.cxx:1518
 TBufferXML.cxx:1519
 TBufferXML.cxx:1520
 TBufferXML.cxx:1521
 TBufferXML.cxx:1522
 TBufferXML.cxx:1523
 TBufferXML.cxx:1524
 TBufferXML.cxx:1525
 TBufferXML.cxx:1526
 TBufferXML.cxx:1527
 TBufferXML.cxx:1528
 TBufferXML.cxx:1529
 TBufferXML.cxx:1530
 TBufferXML.cxx:1531
 TBufferXML.cxx:1532
 TBufferXML.cxx:1533
 TBufferXML.cxx:1534
 TBufferXML.cxx:1535
 TBufferXML.cxx:1536
 TBufferXML.cxx:1537
 TBufferXML.cxx:1538
 TBufferXML.cxx:1539
 TBufferXML.cxx:1540
 TBufferXML.cxx:1541
 TBufferXML.cxx:1542
 TBufferXML.cxx:1543
 TBufferXML.cxx:1544
 TBufferXML.cxx:1545
 TBufferXML.cxx:1546
 TBufferXML.cxx:1547
 TBufferXML.cxx:1548
 TBufferXML.cxx:1549
 TBufferXML.cxx:1550
 TBufferXML.cxx:1551
 TBufferXML.cxx:1552
 TBufferXML.cxx:1553
 TBufferXML.cxx:1554
 TBufferXML.cxx:1555
 TBufferXML.cxx:1556
 TBufferXML.cxx:1557
 TBufferXML.cxx:1558
 TBufferXML.cxx:1559
 TBufferXML.cxx:1560
 TBufferXML.cxx:1561
 TBufferXML.cxx:1562
 TBufferXML.cxx:1563
 TBufferXML.cxx:1564
 TBufferXML.cxx:1565
 TBufferXML.cxx:1566
 TBufferXML.cxx:1567
 TBufferXML.cxx:1568
 TBufferXML.cxx:1569
 TBufferXML.cxx:1570
 TBufferXML.cxx:1571
 TBufferXML.cxx:1572
 TBufferXML.cxx:1573
 TBufferXML.cxx:1574
 TBufferXML.cxx:1575
 TBufferXML.cxx:1576
 TBufferXML.cxx:1577
 TBufferXML.cxx:1578
 TBufferXML.cxx:1579
 TBufferXML.cxx:1580
 TBufferXML.cxx:1581
 TBufferXML.cxx:1582
 TBufferXML.cxx:1583
 TBufferXML.cxx:1584
 TBufferXML.cxx:1585
 TBufferXML.cxx:1586
 TBufferXML.cxx:1587
 TBufferXML.cxx:1588
 TBufferXML.cxx:1589
 TBufferXML.cxx:1590
 TBufferXML.cxx:1591
 TBufferXML.cxx:1592
 TBufferXML.cxx:1593
 TBufferXML.cxx:1594
 TBufferXML.cxx:1595
 TBufferXML.cxx:1596
 TBufferXML.cxx:1597
 TBufferXML.cxx:1598
 TBufferXML.cxx:1599
 TBufferXML.cxx:1600
 TBufferXML.cxx:1601
 TBufferXML.cxx:1602
 TBufferXML.cxx:1603
 TBufferXML.cxx:1604
 TBufferXML.cxx:1605
 TBufferXML.cxx:1606
 TBufferXML.cxx:1607
 TBufferXML.cxx:1608
 TBufferXML.cxx:1609
 TBufferXML.cxx:1610
 TBufferXML.cxx:1611
 TBufferXML.cxx:1612
 TBufferXML.cxx:1613
 TBufferXML.cxx:1614
 TBufferXML.cxx:1615
 TBufferXML.cxx:1616
 TBufferXML.cxx:1617
 TBufferXML.cxx:1618
 TBufferXML.cxx:1619
 TBufferXML.cxx:1620
 TBufferXML.cxx:1621
 TBufferXML.cxx:1622
 TBufferXML.cxx:1623
 TBufferXML.cxx:1624
 TBufferXML.cxx:1625
 TBufferXML.cxx:1626
 TBufferXML.cxx:1627
 TBufferXML.cxx:1628
 TBufferXML.cxx:1629
 TBufferXML.cxx:1630
 TBufferXML.cxx:1631
 TBufferXML.cxx:1632
 TBufferXML.cxx:1633
 TBufferXML.cxx:1634
 TBufferXML.cxx:1635
 TBufferXML.cxx:1636
 TBufferXML.cxx:1637
 TBufferXML.cxx:1638
 TBufferXML.cxx:1639
 TBufferXML.cxx:1640
 TBufferXML.cxx:1641
 TBufferXML.cxx:1642
 TBufferXML.cxx:1643
 TBufferXML.cxx:1644
 TBufferXML.cxx:1645
 TBufferXML.cxx:1646
 TBufferXML.cxx:1647
 TBufferXML.cxx:1648
 TBufferXML.cxx:1649
 TBufferXML.cxx:1650
 TBufferXML.cxx:1651
 TBufferXML.cxx:1652
 TBufferXML.cxx:1653
 TBufferXML.cxx:1654
 TBufferXML.cxx:1655
 TBufferXML.cxx:1656
 TBufferXML.cxx:1657
 TBufferXML.cxx:1658
 TBufferXML.cxx:1659
 TBufferXML.cxx:1660
 TBufferXML.cxx:1661
 TBufferXML.cxx:1662
 TBufferXML.cxx:1663
 TBufferXML.cxx:1664
 TBufferXML.cxx:1665
 TBufferXML.cxx:1666
 TBufferXML.cxx:1667
 TBufferXML.cxx:1668
 TBufferXML.cxx:1669
 TBufferXML.cxx:1670
 TBufferXML.cxx:1671
 TBufferXML.cxx:1672
 TBufferXML.cxx:1673
 TBufferXML.cxx:1674
 TBufferXML.cxx:1675
 TBufferXML.cxx:1676
 TBufferXML.cxx:1677
 TBufferXML.cxx:1678
 TBufferXML.cxx:1679
 TBufferXML.cxx:1680
 TBufferXML.cxx:1681
 TBufferXML.cxx:1682
 TBufferXML.cxx:1683
 TBufferXML.cxx:1684
 TBufferXML.cxx:1685
 TBufferXML.cxx:1686
 TBufferXML.cxx:1687
 TBufferXML.cxx:1688
 TBufferXML.cxx:1689
 TBufferXML.cxx:1690
 TBufferXML.cxx:1691
 TBufferXML.cxx:1692
 TBufferXML.cxx:1693
 TBufferXML.cxx:1694
 TBufferXML.cxx:1695
 TBufferXML.cxx:1696
 TBufferXML.cxx:1697
 TBufferXML.cxx:1698
 TBufferXML.cxx:1699
 TBufferXML.cxx:1700
 TBufferXML.cxx:1701
 TBufferXML.cxx:1702
 TBufferXML.cxx:1703
 TBufferXML.cxx:1704
 TBufferXML.cxx:1705
 TBufferXML.cxx:1706
 TBufferXML.cxx:1707
 TBufferXML.cxx:1708
 TBufferXML.cxx:1709
 TBufferXML.cxx:1710
 TBufferXML.cxx:1711
 TBufferXML.cxx:1712
 TBufferXML.cxx:1713
 TBufferXML.cxx:1714
 TBufferXML.cxx:1715
 TBufferXML.cxx:1716
 TBufferXML.cxx:1717
 TBufferXML.cxx:1718
 TBufferXML.cxx:1719
 TBufferXML.cxx:1720
 TBufferXML.cxx:1721
 TBufferXML.cxx:1722
 TBufferXML.cxx:1723
 TBufferXML.cxx:1724
 TBufferXML.cxx:1725
 TBufferXML.cxx:1726
 TBufferXML.cxx:1727
 TBufferXML.cxx:1728
 TBufferXML.cxx:1729
 TBufferXML.cxx:1730
 TBufferXML.cxx:1731
 TBufferXML.cxx:1732
 TBufferXML.cxx:1733
 TBufferXML.cxx:1734
 TBufferXML.cxx:1735
 TBufferXML.cxx:1736
 TBufferXML.cxx:1737
 TBufferXML.cxx:1738
 TBufferXML.cxx:1739
 TBufferXML.cxx:1740
 TBufferXML.cxx:1741
 TBufferXML.cxx:1742
 TBufferXML.cxx:1743
 TBufferXML.cxx:1744
 TBufferXML.cxx:1745
 TBufferXML.cxx:1746
 TBufferXML.cxx:1747
 TBufferXML.cxx:1748
 TBufferXML.cxx:1749
 TBufferXML.cxx:1750
 TBufferXML.cxx:1751
 TBufferXML.cxx:1752
 TBufferXML.cxx:1753
 TBufferXML.cxx:1754
 TBufferXML.cxx:1755
 TBufferXML.cxx:1756
 TBufferXML.cxx:1757
 TBufferXML.cxx:1758
 TBufferXML.cxx:1759
 TBufferXML.cxx:1760
 TBufferXML.cxx:1761
 TBufferXML.cxx:1762
 TBufferXML.cxx:1763
 TBufferXML.cxx:1764
 TBufferXML.cxx:1765
 TBufferXML.cxx:1766
 TBufferXML.cxx:1767
 TBufferXML.cxx:1768
 TBufferXML.cxx:1769
 TBufferXML.cxx:1770
 TBufferXML.cxx:1771
 TBufferXML.cxx:1772
 TBufferXML.cxx:1773
 TBufferXML.cxx:1774
 TBufferXML.cxx:1775
 TBufferXML.cxx:1776
 TBufferXML.cxx:1777
 TBufferXML.cxx:1778
 TBufferXML.cxx:1779
 TBufferXML.cxx:1780
 TBufferXML.cxx:1781
 TBufferXML.cxx:1782
 TBufferXML.cxx:1783
 TBufferXML.cxx:1784
 TBufferXML.cxx:1785
 TBufferXML.cxx:1786
 TBufferXML.cxx:1787
 TBufferXML.cxx:1788
 TBufferXML.cxx:1789
 TBufferXML.cxx:1790
 TBufferXML.cxx:1791
 TBufferXML.cxx:1792
 TBufferXML.cxx:1793
 TBufferXML.cxx:1794
 TBufferXML.cxx:1795
 TBufferXML.cxx:1796
 TBufferXML.cxx:1797
 TBufferXML.cxx:1798
 TBufferXML.cxx:1799
 TBufferXML.cxx:1800
 TBufferXML.cxx:1801
 TBufferXML.cxx:1802
 TBufferXML.cxx:1803
 TBufferXML.cxx:1804
 TBufferXML.cxx:1805
 TBufferXML.cxx:1806
 TBufferXML.cxx:1807
 TBufferXML.cxx:1808
 TBufferXML.cxx:1809
 TBufferXML.cxx:1810
 TBufferXML.cxx:1811
 TBufferXML.cxx:1812
 TBufferXML.cxx:1813
 TBufferXML.cxx:1814
 TBufferXML.cxx:1815
 TBufferXML.cxx:1816
 TBufferXML.cxx:1817
 TBufferXML.cxx:1818
 TBufferXML.cxx:1819
 TBufferXML.cxx:1820
 TBufferXML.cxx:1821
 TBufferXML.cxx:1822
 TBufferXML.cxx:1823
 TBufferXML.cxx:1824
 TBufferXML.cxx:1825
 TBufferXML.cxx:1826
 TBufferXML.cxx:1827
 TBufferXML.cxx:1828
 TBufferXML.cxx:1829
 TBufferXML.cxx:1830
 TBufferXML.cxx:1831
 TBufferXML.cxx:1832
 TBufferXML.cxx:1833
 TBufferXML.cxx:1834
 TBufferXML.cxx:1835
 TBufferXML.cxx:1836
 TBufferXML.cxx:1837
 TBufferXML.cxx:1838
 TBufferXML.cxx:1839
 TBufferXML.cxx:1840
 TBufferXML.cxx:1841
 TBufferXML.cxx:1842
 TBufferXML.cxx:1843
 TBufferXML.cxx:1844
 TBufferXML.cxx:1845
 TBufferXML.cxx:1846
 TBufferXML.cxx:1847
 TBufferXML.cxx:1848
 TBufferXML.cxx:1849
 TBufferXML.cxx:1850
 TBufferXML.cxx:1851
 TBufferXML.cxx:1852
 TBufferXML.cxx:1853
 TBufferXML.cxx:1854
 TBufferXML.cxx:1855
 TBufferXML.cxx:1856
 TBufferXML.cxx:1857
 TBufferXML.cxx:1858
 TBufferXML.cxx:1859
 TBufferXML.cxx:1860
 TBufferXML.cxx:1861
 TBufferXML.cxx:1862
 TBufferXML.cxx:1863
 TBufferXML.cxx:1864
 TBufferXML.cxx:1865
 TBufferXML.cxx:1866
 TBufferXML.cxx:1867
 TBufferXML.cxx:1868
 TBufferXML.cxx:1869
 TBufferXML.cxx:1870
 TBufferXML.cxx:1871
 TBufferXML.cxx:1872
 TBufferXML.cxx:1873
 TBufferXML.cxx:1874
 TBufferXML.cxx:1875
 TBufferXML.cxx:1876
 TBufferXML.cxx:1877
 TBufferXML.cxx:1878
 TBufferXML.cxx:1879
 TBufferXML.cxx:1880
 TBufferXML.cxx:1881
 TBufferXML.cxx:1882
 TBufferXML.cxx:1883
 TBufferXML.cxx:1884
 TBufferXML.cxx:1885
 TBufferXML.cxx:1886
 TBufferXML.cxx:1887
 TBufferXML.cxx:1888
 TBufferXML.cxx:1889
 TBufferXML.cxx:1890
 TBufferXML.cxx:1891
 TBufferXML.cxx:1892
 TBufferXML.cxx:1893
 TBufferXML.cxx:1894
 TBufferXML.cxx:1895
 TBufferXML.cxx:1896
 TBufferXML.cxx:1897
 TBufferXML.cxx:1898
 TBufferXML.cxx:1899
 TBufferXML.cxx:1900
 TBufferXML.cxx:1901
 TBufferXML.cxx:1902
 TBufferXML.cxx:1903
 TBufferXML.cxx:1904
 TBufferXML.cxx:1905
 TBufferXML.cxx:1906
 TBufferXML.cxx:1907
 TBufferXML.cxx:1908
 TBufferXML.cxx:1909
 TBufferXML.cxx:1910
 TBufferXML.cxx:1911
 TBufferXML.cxx:1912
 TBufferXML.cxx:1913
 TBufferXML.cxx:1914
 TBufferXML.cxx:1915
 TBufferXML.cxx:1916
 TBufferXML.cxx:1917
 TBufferXML.cxx:1918
 TBufferXML.cxx:1919
 TBufferXML.cxx:1920
 TBufferXML.cxx:1921
 TBufferXML.cxx:1922
 TBufferXML.cxx:1923
 TBufferXML.cxx:1924
 TBufferXML.cxx:1925
 TBufferXML.cxx:1926
 TBufferXML.cxx:1927
 TBufferXML.cxx:1928
 TBufferXML.cxx:1929
 TBufferXML.cxx:1930
 TBufferXML.cxx:1931
 TBufferXML.cxx:1932
 TBufferXML.cxx:1933
 TBufferXML.cxx:1934
 TBufferXML.cxx:1935
 TBufferXML.cxx:1936
 TBufferXML.cxx:1937
 TBufferXML.cxx:1938
 TBufferXML.cxx:1939
 TBufferXML.cxx:1940
 TBufferXML.cxx:1941
 TBufferXML.cxx:1942
 TBufferXML.cxx:1943
 TBufferXML.cxx:1944
 TBufferXML.cxx:1945
 TBufferXML.cxx:1946
 TBufferXML.cxx:1947
 TBufferXML.cxx:1948
 TBufferXML.cxx:1949
 TBufferXML.cxx:1950
 TBufferXML.cxx:1951
 TBufferXML.cxx:1952
 TBufferXML.cxx:1953
 TBufferXML.cxx:1954
 TBufferXML.cxx:1955
 TBufferXML.cxx:1956
 TBufferXML.cxx:1957
 TBufferXML.cxx:1958
 TBufferXML.cxx:1959
 TBufferXML.cxx:1960
 TBufferXML.cxx:1961
 TBufferXML.cxx:1962
 TBufferXML.cxx:1963
 TBufferXML.cxx:1964
 TBufferXML.cxx:1965
 TBufferXML.cxx:1966
 TBufferXML.cxx:1967
 TBufferXML.cxx:1968
 TBufferXML.cxx:1969
 TBufferXML.cxx:1970
 TBufferXML.cxx:1971
 TBufferXML.cxx:1972
 TBufferXML.cxx:1973
 TBufferXML.cxx:1974
 TBufferXML.cxx:1975
 TBufferXML.cxx:1976
 TBufferXML.cxx:1977
 TBufferXML.cxx:1978
 TBufferXML.cxx:1979
 TBufferXML.cxx:1980
 TBufferXML.cxx:1981
 TBufferXML.cxx:1982
 TBufferXML.cxx:1983
 TBufferXML.cxx:1984
 TBufferXML.cxx:1985
 TBufferXML.cxx:1986
 TBufferXML.cxx:1987
 TBufferXML.cxx:1988
 TBufferXML.cxx:1989
 TBufferXML.cxx:1990
 TBufferXML.cxx:1991
 TBufferXML.cxx:1992
 TBufferXML.cxx:1993
 TBufferXML.cxx:1994
 TBufferXML.cxx:1995
 TBufferXML.cxx:1996
 TBufferXML.cxx:1997
 TBufferXML.cxx:1998
 TBufferXML.cxx:1999
 TBufferXML.cxx:2000
 TBufferXML.cxx:2001
 TBufferXML.cxx:2002
 TBufferXML.cxx:2003
 TBufferXML.cxx:2004
 TBufferXML.cxx:2005
 TBufferXML.cxx:2006
 TBufferXML.cxx:2007
 TBufferXML.cxx:2008
 TBufferXML.cxx:2009
 TBufferXML.cxx:2010
 TBufferXML.cxx:2011
 TBufferXML.cxx:2012
 TBufferXML.cxx:2013
 TBufferXML.cxx:2014
 TBufferXML.cxx:2015
 TBufferXML.cxx:2016
 TBufferXML.cxx:2017
 TBufferXML.cxx:2018
 TBufferXML.cxx:2019
 TBufferXML.cxx:2020
 TBufferXML.cxx:2021
 TBufferXML.cxx:2022
 TBufferXML.cxx:2023
 TBufferXML.cxx:2024
 TBufferXML.cxx:2025
 TBufferXML.cxx:2026
 TBufferXML.cxx:2027
 TBufferXML.cxx:2028
 TBufferXML.cxx:2029
 TBufferXML.cxx:2030
 TBufferXML.cxx:2031
 TBufferXML.cxx:2032
 TBufferXML.cxx:2033
 TBufferXML.cxx:2034
 TBufferXML.cxx:2035
 TBufferXML.cxx:2036
 TBufferXML.cxx:2037
 TBufferXML.cxx:2038
 TBufferXML.cxx:2039
 TBufferXML.cxx:2040
 TBufferXML.cxx:2041
 TBufferXML.cxx:2042
 TBufferXML.cxx:2043
 TBufferXML.cxx:2044
 TBufferXML.cxx:2045
 TBufferXML.cxx:2046
 TBufferXML.cxx:2047
 TBufferXML.cxx:2048
 TBufferXML.cxx:2049
 TBufferXML.cxx:2050
 TBufferXML.cxx:2051
 TBufferXML.cxx:2052
 TBufferXML.cxx:2053
 TBufferXML.cxx:2054
 TBufferXML.cxx:2055
 TBufferXML.cxx:2056
 TBufferXML.cxx:2057
 TBufferXML.cxx:2058
 TBufferXML.cxx:2059
 TBufferXML.cxx:2060
 TBufferXML.cxx:2061
 TBufferXML.cxx:2062
 TBufferXML.cxx:2063
 TBufferXML.cxx:2064
 TBufferXML.cxx:2065
 TBufferXML.cxx:2066
 TBufferXML.cxx:2067
 TBufferXML.cxx:2068
 TBufferXML.cxx:2069
 TBufferXML.cxx:2070
 TBufferXML.cxx:2071
 TBufferXML.cxx:2072
 TBufferXML.cxx:2073
 TBufferXML.cxx:2074
 TBufferXML.cxx:2075
 TBufferXML.cxx:2076
 TBufferXML.cxx:2077
 TBufferXML.cxx:2078
 TBufferXML.cxx:2079
 TBufferXML.cxx:2080
 TBufferXML.cxx:2081
 TBufferXML.cxx:2082
 TBufferXML.cxx:2083
 TBufferXML.cxx:2084
 TBufferXML.cxx:2085
 TBufferXML.cxx:2086
 TBufferXML.cxx:2087
 TBufferXML.cxx:2088
 TBufferXML.cxx:2089
 TBufferXML.cxx:2090
 TBufferXML.cxx:2091
 TBufferXML.cxx:2092
 TBufferXML.cxx:2093
 TBufferXML.cxx:2094
 TBufferXML.cxx:2095
 TBufferXML.cxx:2096
 TBufferXML.cxx:2097
 TBufferXML.cxx:2098
 TBufferXML.cxx:2099
 TBufferXML.cxx:2100
 TBufferXML.cxx:2101
 TBufferXML.cxx:2102
 TBufferXML.cxx:2103
 TBufferXML.cxx:2104
 TBufferXML.cxx:2105
 TBufferXML.cxx:2106
 TBufferXML.cxx:2107
 TBufferXML.cxx:2108
 TBufferXML.cxx:2109
 TBufferXML.cxx:2110
 TBufferXML.cxx:2111
 TBufferXML.cxx:2112
 TBufferXML.cxx:2113
 TBufferXML.cxx:2114
 TBufferXML.cxx:2115
 TBufferXML.cxx:2116
 TBufferXML.cxx:2117
 TBufferXML.cxx:2118
 TBufferXML.cxx:2119
 TBufferXML.cxx:2120
 TBufferXML.cxx:2121
 TBufferXML.cxx:2122
 TBufferXML.cxx:2123
 TBufferXML.cxx:2124
 TBufferXML.cxx:2125
 TBufferXML.cxx:2126
 TBufferXML.cxx:2127
 TBufferXML.cxx:2128
 TBufferXML.cxx:2129
 TBufferXML.cxx:2130
 TBufferXML.cxx:2131
 TBufferXML.cxx:2132
 TBufferXML.cxx:2133
 TBufferXML.cxx:2134
 TBufferXML.cxx:2135
 TBufferXML.cxx:2136
 TBufferXML.cxx:2137
 TBufferXML.cxx:2138
 TBufferXML.cxx:2139
 TBufferXML.cxx:2140
 TBufferXML.cxx:2141
 TBufferXML.cxx:2142
 TBufferXML.cxx:2143
 TBufferXML.cxx:2144
 TBufferXML.cxx:2145
 TBufferXML.cxx:2146
 TBufferXML.cxx:2147
 TBufferXML.cxx:2148
 TBufferXML.cxx:2149
 TBufferXML.cxx:2150
 TBufferXML.cxx:2151
 TBufferXML.cxx:2152
 TBufferXML.cxx:2153
 TBufferXML.cxx:2154
 TBufferXML.cxx:2155
 TBufferXML.cxx:2156
 TBufferXML.cxx:2157
 TBufferXML.cxx:2158
 TBufferXML.cxx:2159
 TBufferXML.cxx:2160
 TBufferXML.cxx:2161
 TBufferXML.cxx:2162
 TBufferXML.cxx:2163
 TBufferXML.cxx:2164
 TBufferXML.cxx:2165
 TBufferXML.cxx:2166
 TBufferXML.cxx:2167
 TBufferXML.cxx:2168
 TBufferXML.cxx:2169
 TBufferXML.cxx:2170
 TBufferXML.cxx:2171
 TBufferXML.cxx:2172
 TBufferXML.cxx:2173
 TBufferXML.cxx:2174
 TBufferXML.cxx:2175
 TBufferXML.cxx:2176
 TBufferXML.cxx:2177
 TBufferXML.cxx:2178
 TBufferXML.cxx:2179
 TBufferXML.cxx:2180
 TBufferXML.cxx:2181
 TBufferXML.cxx:2182
 TBufferXML.cxx:2183
 TBufferXML.cxx:2184
 TBufferXML.cxx:2185
 TBufferXML.cxx:2186
 TBufferXML.cxx:2187
 TBufferXML.cxx:2188
 TBufferXML.cxx:2189
 TBufferXML.cxx:2190
 TBufferXML.cxx:2191
 TBufferXML.cxx:2192
 TBufferXML.cxx:2193
 TBufferXML.cxx:2194
 TBufferXML.cxx:2195
 TBufferXML.cxx:2196
 TBufferXML.cxx:2197
 TBufferXML.cxx:2198
 TBufferXML.cxx:2199
 TBufferXML.cxx:2200
 TBufferXML.cxx:2201
 TBufferXML.cxx:2202
 TBufferXML.cxx:2203
 TBufferXML.cxx:2204
 TBufferXML.cxx:2205
 TBufferXML.cxx:2206
 TBufferXML.cxx:2207
 TBufferXML.cxx:2208
 TBufferXML.cxx:2209
 TBufferXML.cxx:2210
 TBufferXML.cxx:2211
 TBufferXML.cxx:2212
 TBufferXML.cxx:2213
 TBufferXML.cxx:2214
 TBufferXML.cxx:2215
 TBufferXML.cxx:2216
 TBufferXML.cxx:2217
 TBufferXML.cxx:2218
 TBufferXML.cxx:2219
 TBufferXML.cxx:2220
 TBufferXML.cxx:2221
 TBufferXML.cxx:2222
 TBufferXML.cxx:2223
 TBufferXML.cxx:2224
 TBufferXML.cxx:2225
 TBufferXML.cxx:2226
 TBufferXML.cxx:2227
 TBufferXML.cxx:2228
 TBufferXML.cxx:2229
 TBufferXML.cxx:2230
 TBufferXML.cxx:2231
 TBufferXML.cxx:2232
 TBufferXML.cxx:2233
 TBufferXML.cxx:2234
 TBufferXML.cxx:2235
 TBufferXML.cxx:2236
 TBufferXML.cxx:2237
 TBufferXML.cxx:2238
 TBufferXML.cxx:2239
 TBufferXML.cxx:2240
 TBufferXML.cxx:2241
 TBufferXML.cxx:2242
 TBufferXML.cxx:2243
 TBufferXML.cxx:2244
 TBufferXML.cxx:2245
 TBufferXML.cxx:2246
 TBufferXML.cxx:2247
 TBufferXML.cxx:2248
 TBufferXML.cxx:2249
 TBufferXML.cxx:2250
 TBufferXML.cxx:2251
 TBufferXML.cxx:2252
 TBufferXML.cxx:2253
 TBufferXML.cxx:2254
 TBufferXML.cxx:2255
 TBufferXML.cxx:2256
 TBufferXML.cxx:2257
 TBufferXML.cxx:2258
 TBufferXML.cxx:2259
 TBufferXML.cxx:2260
 TBufferXML.cxx:2261
 TBufferXML.cxx:2262
 TBufferXML.cxx:2263
 TBufferXML.cxx:2264
 TBufferXML.cxx:2265
 TBufferXML.cxx:2266
 TBufferXML.cxx:2267
 TBufferXML.cxx:2268
 TBufferXML.cxx:2269
 TBufferXML.cxx:2270
 TBufferXML.cxx:2271
 TBufferXML.cxx:2272
 TBufferXML.cxx:2273
 TBufferXML.cxx:2274
 TBufferXML.cxx:2275
 TBufferXML.cxx:2276
 TBufferXML.cxx:2277
 TBufferXML.cxx:2278
 TBufferXML.cxx:2279
 TBufferXML.cxx:2280
 TBufferXML.cxx:2281
 TBufferXML.cxx:2282
 TBufferXML.cxx:2283
 TBufferXML.cxx:2284
 TBufferXML.cxx:2285
 TBufferXML.cxx:2286
 TBufferXML.cxx:2287
 TBufferXML.cxx:2288
 TBufferXML.cxx:2289
 TBufferXML.cxx:2290
 TBufferXML.cxx:2291
 TBufferXML.cxx:2292
 TBufferXML.cxx:2293
 TBufferXML.cxx:2294
 TBufferXML.cxx:2295
 TBufferXML.cxx:2296
 TBufferXML.cxx:2297
 TBufferXML.cxx:2298
 TBufferXML.cxx:2299
 TBufferXML.cxx:2300
 TBufferXML.cxx:2301
 TBufferXML.cxx:2302
 TBufferXML.cxx:2303
 TBufferXML.cxx:2304
 TBufferXML.cxx:2305
 TBufferXML.cxx:2306
 TBufferXML.cxx:2307
 TBufferXML.cxx:2308
 TBufferXML.cxx:2309
 TBufferXML.cxx:2310
 TBufferXML.cxx:2311
 TBufferXML.cxx:2312
 TBufferXML.cxx:2313
 TBufferXML.cxx:2314
 TBufferXML.cxx:2315
 TBufferXML.cxx:2316
 TBufferXML.cxx:2317
 TBufferXML.cxx:2318
 TBufferXML.cxx:2319
 TBufferXML.cxx:2320
 TBufferXML.cxx:2321
 TBufferXML.cxx:2322
 TBufferXML.cxx:2323
 TBufferXML.cxx:2324
 TBufferXML.cxx:2325
 TBufferXML.cxx:2326
 TBufferXML.cxx:2327
 TBufferXML.cxx:2328
 TBufferXML.cxx:2329
 TBufferXML.cxx:2330
 TBufferXML.cxx:2331
 TBufferXML.cxx:2332
 TBufferXML.cxx:2333
 TBufferXML.cxx:2334
 TBufferXML.cxx:2335
 TBufferXML.cxx:2336
 TBufferXML.cxx:2337
 TBufferXML.cxx:2338
 TBufferXML.cxx:2339
 TBufferXML.cxx:2340
 TBufferXML.cxx:2341
 TBufferXML.cxx:2342
 TBufferXML.cxx:2343
 TBufferXML.cxx:2344
 TBufferXML.cxx:2345
 TBufferXML.cxx:2346
 TBufferXML.cxx:2347
 TBufferXML.cxx:2348
 TBufferXML.cxx:2349
 TBufferXML.cxx:2350
 TBufferXML.cxx:2351
 TBufferXML.cxx:2352
 TBufferXML.cxx:2353
 TBufferXML.cxx:2354
 TBufferXML.cxx:2355
 TBufferXML.cxx:2356
 TBufferXML.cxx:2357
 TBufferXML.cxx:2358
 TBufferXML.cxx:2359
 TBufferXML.cxx:2360
 TBufferXML.cxx:2361
 TBufferXML.cxx:2362
 TBufferXML.cxx:2363
 TBufferXML.cxx:2364
 TBufferXML.cxx:2365
 TBufferXML.cxx:2366
 TBufferXML.cxx:2367
 TBufferXML.cxx:2368
 TBufferXML.cxx:2369
 TBufferXML.cxx:2370
 TBufferXML.cxx:2371
 TBufferXML.cxx:2372
 TBufferXML.cxx:2373
 TBufferXML.cxx:2374
 TBufferXML.cxx:2375
 TBufferXML.cxx:2376
 TBufferXML.cxx:2377
 TBufferXML.cxx:2378
 TBufferXML.cxx:2379
 TBufferXML.cxx:2380
 TBufferXML.cxx:2381
 TBufferXML.cxx:2382
 TBufferXML.cxx:2383
 TBufferXML.cxx:2384
 TBufferXML.cxx:2385
 TBufferXML.cxx:2386
 TBufferXML.cxx:2387
 TBufferXML.cxx:2388
 TBufferXML.cxx:2389
 TBufferXML.cxx:2390
 TBufferXML.cxx:2391
 TBufferXML.cxx:2392
 TBufferXML.cxx:2393
 TBufferXML.cxx:2394
 TBufferXML.cxx:2395
 TBufferXML.cxx:2396
 TBufferXML.cxx:2397
 TBufferXML.cxx:2398
 TBufferXML.cxx:2399
 TBufferXML.cxx:2400
 TBufferXML.cxx:2401
 TBufferXML.cxx:2402
 TBufferXML.cxx:2403
 TBufferXML.cxx:2404
 TBufferXML.cxx:2405
 TBufferXML.cxx:2406
 TBufferXML.cxx:2407
 TBufferXML.cxx:2408
 TBufferXML.cxx:2409
 TBufferXML.cxx:2410
 TBufferXML.cxx:2411
 TBufferXML.cxx:2412
 TBufferXML.cxx:2413
 TBufferXML.cxx:2414
 TBufferXML.cxx:2415
 TBufferXML.cxx:2416
 TBufferXML.cxx:2417
 TBufferXML.cxx:2418
 TBufferXML.cxx:2419
 TBufferXML.cxx:2420
 TBufferXML.cxx:2421
 TBufferXML.cxx:2422
 TBufferXML.cxx:2423
 TBufferXML.cxx:2424
 TBufferXML.cxx:2425
 TBufferXML.cxx:2426
 TBufferXML.cxx:2427
 TBufferXML.cxx:2428
 TBufferXML.cxx:2429
 TBufferXML.cxx:2430
 TBufferXML.cxx:2431
 TBufferXML.cxx:2432
 TBufferXML.cxx:2433
 TBufferXML.cxx:2434
 TBufferXML.cxx:2435
 TBufferXML.cxx:2436
 TBufferXML.cxx:2437
 TBufferXML.cxx:2438
 TBufferXML.cxx:2439
 TBufferXML.cxx:2440
 TBufferXML.cxx:2441
 TBufferXML.cxx:2442
 TBufferXML.cxx:2443
 TBufferXML.cxx:2444
 TBufferXML.cxx:2445
 TBufferXML.cxx:2446
 TBufferXML.cxx:2447
 TBufferXML.cxx:2448
 TBufferXML.cxx:2449
 TBufferXML.cxx:2450
 TBufferXML.cxx:2451
 TBufferXML.cxx:2452
 TBufferXML.cxx:2453
 TBufferXML.cxx:2454
 TBufferXML.cxx:2455
 TBufferXML.cxx:2456
 TBufferXML.cxx:2457
 TBufferXML.cxx:2458
 TBufferXML.cxx:2459
 TBufferXML.cxx:2460
 TBufferXML.cxx:2461
 TBufferXML.cxx:2462
 TBufferXML.cxx:2463
 TBufferXML.cxx:2464
 TBufferXML.cxx:2465
 TBufferXML.cxx:2466
 TBufferXML.cxx:2467
 TBufferXML.cxx:2468
 TBufferXML.cxx:2469
 TBufferXML.cxx:2470
 TBufferXML.cxx:2471
 TBufferXML.cxx:2472
 TBufferXML.cxx:2473
 TBufferXML.cxx:2474
 TBufferXML.cxx:2475
 TBufferXML.cxx:2476
 TBufferXML.cxx:2477
 TBufferXML.cxx:2478
 TBufferXML.cxx:2479
 TBufferXML.cxx:2480
 TBufferXML.cxx:2481
 TBufferXML.cxx:2482
 TBufferXML.cxx:2483
 TBufferXML.cxx:2484
 TBufferXML.cxx:2485
 TBufferXML.cxx:2486
 TBufferXML.cxx:2487
 TBufferXML.cxx:2488
 TBufferXML.cxx:2489
 TBufferXML.cxx:2490
 TBufferXML.cxx:2491
 TBufferXML.cxx:2492
 TBufferXML.cxx:2493
 TBufferXML.cxx:2494
 TBufferXML.cxx:2495
 TBufferXML.cxx:2496
 TBufferXML.cxx:2497
 TBufferXML.cxx:2498
 TBufferXML.cxx:2499
 TBufferXML.cxx:2500
 TBufferXML.cxx:2501
 TBufferXML.cxx:2502
 TBufferXML.cxx:2503
 TBufferXML.cxx:2504
 TBufferXML.cxx:2505
 TBufferXML.cxx:2506
 TBufferXML.cxx:2507
 TBufferXML.cxx:2508
 TBufferXML.cxx:2509
 TBufferXML.cxx:2510
 TBufferXML.cxx:2511
 TBufferXML.cxx:2512
 TBufferXML.cxx:2513
 TBufferXML.cxx:2514
 TBufferXML.cxx:2515
 TBufferXML.cxx:2516
 TBufferXML.cxx:2517
 TBufferXML.cxx:2518
 TBufferXML.cxx:2519
 TBufferXML.cxx:2520
 TBufferXML.cxx:2521
 TBufferXML.cxx:2522
 TBufferXML.cxx:2523
 TBufferXML.cxx:2524
 TBufferXML.cxx:2525
 TBufferXML.cxx:2526
 TBufferXML.cxx:2527
 TBufferXML.cxx:2528
 TBufferXML.cxx:2529
 TBufferXML.cxx:2530
 TBufferXML.cxx:2531
 TBufferXML.cxx:2532
 TBufferXML.cxx:2533
 TBufferXML.cxx:2534
 TBufferXML.cxx:2535
 TBufferXML.cxx:2536
 TBufferXML.cxx:2537
 TBufferXML.cxx:2538
 TBufferXML.cxx:2539
 TBufferXML.cxx:2540
 TBufferXML.cxx:2541
 TBufferXML.cxx:2542
 TBufferXML.cxx:2543
 TBufferXML.cxx:2544
 TBufferXML.cxx:2545
 TBufferXML.cxx:2546
 TBufferXML.cxx:2547
 TBufferXML.cxx:2548
 TBufferXML.cxx:2549
 TBufferXML.cxx:2550
 TBufferXML.cxx:2551
 TBufferXML.cxx:2552
 TBufferXML.cxx:2553
 TBufferXML.cxx:2554
 TBufferXML.cxx:2555
 TBufferXML.cxx:2556
 TBufferXML.cxx:2557
 TBufferXML.cxx:2558
 TBufferXML.cxx:2559
 TBufferXML.cxx:2560
 TBufferXML.cxx:2561
 TBufferXML.cxx:2562
 TBufferXML.cxx:2563
 TBufferXML.cxx:2564
 TBufferXML.cxx:2565
 TBufferXML.cxx:2566
 TBufferXML.cxx:2567
 TBufferXML.cxx:2568
 TBufferXML.cxx:2569
 TBufferXML.cxx:2570
 TBufferXML.cxx:2571
 TBufferXML.cxx:2572
 TBufferXML.cxx:2573
 TBufferXML.cxx:2574
 TBufferXML.cxx:2575
 TBufferXML.cxx:2576
 TBufferXML.cxx:2577
 TBufferXML.cxx:2578
 TBufferXML.cxx:2579
 TBufferXML.cxx:2580
 TBufferXML.cxx:2581
 TBufferXML.cxx:2582
 TBufferXML.cxx:2583
 TBufferXML.cxx:2584
 TBufferXML.cxx:2585
 TBufferXML.cxx:2586
 TBufferXML.cxx:2587
 TBufferXML.cxx:2588
 TBufferXML.cxx:2589
 TBufferXML.cxx:2590
 TBufferXML.cxx:2591
 TBufferXML.cxx:2592
 TBufferXML.cxx:2593
 TBufferXML.cxx:2594
 TBufferXML.cxx:2595
 TBufferXML.cxx:2596
 TBufferXML.cxx:2597
 TBufferXML.cxx:2598
 TBufferXML.cxx:2599
 TBufferXML.cxx:2600
 TBufferXML.cxx:2601
 TBufferXML.cxx:2602
 TBufferXML.cxx:2603
 TBufferXML.cxx:2604
 TBufferXML.cxx:2605
 TBufferXML.cxx:2606
 TBufferXML.cxx:2607
 TBufferXML.cxx:2608
 TBufferXML.cxx:2609
 TBufferXML.cxx:2610
 TBufferXML.cxx:2611
 TBufferXML.cxx:2612
 TBufferXML.cxx:2613
 TBufferXML.cxx:2614
 TBufferXML.cxx:2615
 TBufferXML.cxx:2616
 TBufferXML.cxx:2617
 TBufferXML.cxx:2618
 TBufferXML.cxx:2619
 TBufferXML.cxx:2620
 TBufferXML.cxx:2621
 TBufferXML.cxx:2622
 TBufferXML.cxx:2623
 TBufferXML.cxx:2624
 TBufferXML.cxx:2625
 TBufferXML.cxx:2626
 TBufferXML.cxx:2627
 TBufferXML.cxx:2628
 TBufferXML.cxx:2629
 TBufferXML.cxx:2630
 TBufferXML.cxx:2631
 TBufferXML.cxx:2632
 TBufferXML.cxx:2633
 TBufferXML.cxx:2634
 TBufferXML.cxx:2635
 TBufferXML.cxx:2636
 TBufferXML.cxx:2637
 TBufferXML.cxx:2638
 TBufferXML.cxx:2639
 TBufferXML.cxx:2640
 TBufferXML.cxx:2641
 TBufferXML.cxx:2642
 TBufferXML.cxx:2643
 TBufferXML.cxx:2644
 TBufferXML.cxx:2645
 TBufferXML.cxx:2646
 TBufferXML.cxx:2647
 TBufferXML.cxx:2648
 TBufferXML.cxx:2649
 TBufferXML.cxx:2650
 TBufferXML.cxx:2651
 TBufferXML.cxx:2652
 TBufferXML.cxx:2653
 TBufferXML.cxx:2654
 TBufferXML.cxx:2655
 TBufferXML.cxx:2656
 TBufferXML.cxx:2657
 TBufferXML.cxx:2658
 TBufferXML.cxx:2659
 TBufferXML.cxx:2660
 TBufferXML.cxx:2661
 TBufferXML.cxx:2662
 TBufferXML.cxx:2663
 TBufferXML.cxx:2664
 TBufferXML.cxx:2665
 TBufferXML.cxx:2666
 TBufferXML.cxx:2667
 TBufferXML.cxx:2668
 TBufferXML.cxx:2669
 TBufferXML.cxx:2670
 TBufferXML.cxx:2671
 TBufferXML.cxx:2672
 TBufferXML.cxx:2673
 TBufferXML.cxx:2674
 TBufferXML.cxx:2675
 TBufferXML.cxx:2676
 TBufferXML.cxx:2677
 TBufferXML.cxx:2678
 TBufferXML.cxx:2679
 TBufferXML.cxx:2680
 TBufferXML.cxx:2681
 TBufferXML.cxx:2682
 TBufferXML.cxx:2683
 TBufferXML.cxx:2684
 TBufferXML.cxx:2685
 TBufferXML.cxx:2686
 TBufferXML.cxx:2687
 TBufferXML.cxx:2688
 TBufferXML.cxx:2689
 TBufferXML.cxx:2690
 TBufferXML.cxx:2691
 TBufferXML.cxx:2692
 TBufferXML.cxx:2693
 TBufferXML.cxx:2694
 TBufferXML.cxx:2695
 TBufferXML.cxx:2696
 TBufferXML.cxx:2697
 TBufferXML.cxx:2698
 TBufferXML.cxx:2699
 TBufferXML.cxx:2700
 TBufferXML.cxx:2701
 TBufferXML.cxx:2702
 TBufferXML.cxx:2703
 TBufferXML.cxx:2704
 TBufferXML.cxx:2705
 TBufferXML.cxx:2706
 TBufferXML.cxx:2707
 TBufferXML.cxx:2708
 TBufferXML.cxx:2709
 TBufferXML.cxx:2710
 TBufferXML.cxx:2711
 TBufferXML.cxx:2712
 TBufferXML.cxx:2713
 TBufferXML.cxx:2714
 TBufferXML.cxx:2715
 TBufferXML.cxx:2716
 TBufferXML.cxx:2717
 TBufferXML.cxx:2718
 TBufferXML.cxx:2719
 TBufferXML.cxx:2720
 TBufferXML.cxx:2721
 TBufferXML.cxx:2722
 TBufferXML.cxx:2723
 TBufferXML.cxx:2724
 TBufferXML.cxx:2725
 TBufferXML.cxx:2726
 TBufferXML.cxx:2727
 TBufferXML.cxx:2728
 TBufferXML.cxx:2729
 TBufferXML.cxx:2730
 TBufferXML.cxx:2731
 TBufferXML.cxx:2732
 TBufferXML.cxx:2733
 TBufferXML.cxx:2734
 TBufferXML.cxx:2735
 TBufferXML.cxx:2736
 TBufferXML.cxx:2737
 TBufferXML.cxx:2738
 TBufferXML.cxx:2739
 TBufferXML.cxx:2740
 TBufferXML.cxx:2741
 TBufferXML.cxx:2742
 TBufferXML.cxx:2743
 TBufferXML.cxx:2744
 TBufferXML.cxx:2745
 TBufferXML.cxx:2746
 TBufferXML.cxx:2747
 TBufferXML.cxx:2748
 TBufferXML.cxx:2749
 TBufferXML.cxx:2750
 TBufferXML.cxx:2751
 TBufferXML.cxx:2752
 TBufferXML.cxx:2753
 TBufferXML.cxx:2754
 TBufferXML.cxx:2755
 TBufferXML.cxx:2756
 TBufferXML.cxx:2757
 TBufferXML.cxx:2758
 TBufferXML.cxx:2759
 TBufferXML.cxx:2760
 TBufferXML.cxx:2761
 TBufferXML.cxx:2762
 TBufferXML.cxx:2763
 TBufferXML.cxx:2764
 TBufferXML.cxx:2765
 TBufferXML.cxx:2766
 TBufferXML.cxx:2767
 TBufferXML.cxx:2768
 TBufferXML.cxx:2769
 TBufferXML.cxx:2770
 TBufferXML.cxx:2771
 TBufferXML.cxx:2772
 TBufferXML.cxx:2773
 TBufferXML.cxx:2774
 TBufferXML.cxx:2775
 TBufferXML.cxx:2776
 TBufferXML.cxx:2777
 TBufferXML.cxx:2778
 TBufferXML.cxx:2779
 TBufferXML.cxx:2780
 TBufferXML.cxx:2781
 TBufferXML.cxx:2782
 TBufferXML.cxx:2783
 TBufferXML.cxx:2784
 TBufferXML.cxx:2785
 TBufferXML.cxx:2786
 TBufferXML.cxx:2787
 TBufferXML.cxx:2788
 TBufferXML.cxx:2789
 TBufferXML.cxx:2790
 TBufferXML.cxx:2791
 TBufferXML.cxx:2792
 TBufferXML.cxx:2793
 TBufferXML.cxx:2794
 TBufferXML.cxx:2795
 TBufferXML.cxx:2796
 TBufferXML.cxx:2797
 TBufferXML.cxx:2798
 TBufferXML.cxx:2799
 TBufferXML.cxx:2800
 TBufferXML.cxx:2801
 TBufferXML.cxx:2802
 TBufferXML.cxx:2803
 TBufferXML.cxx:2804
 TBufferXML.cxx:2805
 TBufferXML.cxx:2806
 TBufferXML.cxx:2807
 TBufferXML.cxx:2808
 TBufferXML.cxx:2809
 TBufferXML.cxx:2810
 TBufferXML.cxx:2811
 TBufferXML.cxx:2812
 TBufferXML.cxx:2813
 TBufferXML.cxx:2814
 TBufferXML.cxx:2815
 TBufferXML.cxx:2816
 TBufferXML.cxx:2817
 TBufferXML.cxx:2818
 TBufferXML.cxx:2819
 TBufferXML.cxx:2820
 TBufferXML.cxx:2821
 TBufferXML.cxx:2822
 TBufferXML.cxx:2823
 TBufferXML.cxx:2824
 TBufferXML.cxx:2825
 TBufferXML.cxx:2826
 TBufferXML.cxx:2827
 TBufferXML.cxx:2828
 TBufferXML.cxx:2829
 TBufferXML.cxx:2830
 TBufferXML.cxx:2831
 TBufferXML.cxx:2832
 TBufferXML.cxx:2833
 TBufferXML.cxx:2834
 TBufferXML.cxx:2835
 TBufferXML.cxx:2836
 TBufferXML.cxx:2837
 TBufferXML.cxx:2838
 TBufferXML.cxx:2839
 TBufferXML.cxx:2840
 TBufferXML.cxx:2841
 TBufferXML.cxx:2842
 TBufferXML.cxx:2843
 TBufferXML.cxx:2844
 TBufferXML.cxx:2845
 TBufferXML.cxx:2846
 TBufferXML.cxx:2847
 TBufferXML.cxx:2848
 TBufferXML.cxx:2849
 TBufferXML.cxx:2850
 TBufferXML.cxx:2851
 TBufferXML.cxx:2852
 TBufferXML.cxx:2853
 TBufferXML.cxx:2854
 TBufferXML.cxx:2855
 TBufferXML.cxx:2856
 TBufferXML.cxx:2857
 TBufferXML.cxx:2858
 TBufferXML.cxx:2859
 TBufferXML.cxx:2860
 TBufferXML.cxx:2861
 TBufferXML.cxx:2862
 TBufferXML.cxx:2863
 TBufferXML.cxx:2864
 TBufferXML.cxx:2865
 TBufferXML.cxx:2866
 TBufferXML.cxx:2867
 TBufferXML.cxx:2868
 TBufferXML.cxx:2869
 TBufferXML.cxx:2870
 TBufferXML.cxx:2871
 TBufferXML.cxx:2872
 TBufferXML.cxx:2873
 TBufferXML.cxx:2874
 TBufferXML.cxx:2875
 TBufferXML.cxx:2876
 TBufferXML.cxx:2877
 TBufferXML.cxx:2878
 TBufferXML.cxx:2879
 TBufferXML.cxx:2880
 TBufferXML.cxx:2881
 TBufferXML.cxx:2882
 TBufferXML.cxx:2883
 TBufferXML.cxx:2884
 TBufferXML.cxx:2885
 TBufferXML.cxx:2886
 TBufferXML.cxx:2887
 TBufferXML.cxx:2888
 TBufferXML.cxx:2889
 TBufferXML.cxx:2890
 TBufferXML.cxx:2891
 TBufferXML.cxx:2892
 TBufferXML.cxx:2893
 TBufferXML.cxx:2894
 TBufferXML.cxx:2895
 TBufferXML.cxx:2896
 TBufferXML.cxx:2897
 TBufferXML.cxx:2898
 TBufferXML.cxx:2899
 TBufferXML.cxx:2900
 TBufferXML.cxx:2901
 TBufferXML.cxx:2902
 TBufferXML.cxx:2903
 TBufferXML.cxx:2904
 TBufferXML.cxx:2905
 TBufferXML.cxx:2906
 TBufferXML.cxx:2907
 TBufferXML.cxx:2908
 TBufferXML.cxx:2909
 TBufferXML.cxx:2910
 TBufferXML.cxx:2911
 TBufferXML.cxx:2912
 TBufferXML.cxx:2913
 TBufferXML.cxx:2914
 TBufferXML.cxx:2915
 TBufferXML.cxx:2916
 TBufferXML.cxx:2917
 TBufferXML.cxx:2918
 TBufferXML.cxx:2919
 TBufferXML.cxx:2920
 TBufferXML.cxx:2921
 TBufferXML.cxx:2922
 TBufferXML.cxx:2923
 TBufferXML.cxx:2924
 TBufferXML.cxx:2925
 TBufferXML.cxx:2926
 TBufferXML.cxx:2927
 TBufferXML.cxx:2928
 TBufferXML.cxx:2929
 TBufferXML.cxx:2930
 TBufferXML.cxx:2931
 TBufferXML.cxx:2932
 TBufferXML.cxx:2933
 TBufferXML.cxx:2934
 TBufferXML.cxx:2935
 TBufferXML.cxx:2936
 TBufferXML.cxx:2937
 TBufferXML.cxx:2938
 TBufferXML.cxx:2939
 TBufferXML.cxx:2940
 TBufferXML.cxx:2941
 TBufferXML.cxx:2942
 TBufferXML.cxx:2943
 TBufferXML.cxx:2944
 TBufferXML.cxx:2945
 TBufferXML.cxx:2946
 TBufferXML.cxx:2947
 TBufferXML.cxx:2948
 TBufferXML.cxx:2949
 TBufferXML.cxx:2950
 TBufferXML.cxx:2951
 TBufferXML.cxx:2952
 TBufferXML.cxx:2953
 TBufferXML.cxx:2954
 TBufferXML.cxx:2955
 TBufferXML.cxx:2956
 TBufferXML.cxx:2957
 TBufferXML.cxx:2958
 TBufferXML.cxx:2959
 TBufferXML.cxx:2960
 TBufferXML.cxx:2961
 TBufferXML.cxx:2962
 TBufferXML.cxx:2963
 TBufferXML.cxx:2964
 TBufferXML.cxx:2965
 TBufferXML.cxx:2966
 TBufferXML.cxx:2967
 TBufferXML.cxx:2968
 TBufferXML.cxx:2969
 TBufferXML.cxx:2970
 TBufferXML.cxx:2971
 TBufferXML.cxx:2972
 TBufferXML.cxx:2973
 TBufferXML.cxx:2974
 TBufferXML.cxx:2975
 TBufferXML.cxx:2976
 TBufferXML.cxx:2977
 TBufferXML.cxx:2978
 TBufferXML.cxx:2979
 TBufferXML.cxx:2980
 TBufferXML.cxx:2981
 TBufferXML.cxx:2982
 TBufferXML.cxx:2983
 TBufferXML.cxx:2984
 TBufferXML.cxx:2985
 TBufferXML.cxx:2986
 TBufferXML.cxx:2987
 TBufferXML.cxx:2988
 TBufferXML.cxx:2989
 TBufferXML.cxx:2990
 TBufferXML.cxx:2991
 TBufferXML.cxx:2992
 TBufferXML.cxx:2993
 TBufferXML.cxx:2994
 TBufferXML.cxx:2995
 TBufferXML.cxx:2996
 TBufferXML.cxx:2997
 TBufferXML.cxx:2998
 TBufferXML.cxx:2999
 TBufferXML.cxx:3000
 TBufferXML.cxx:3001
 TBufferXML.cxx:3002
 TBufferXML.cxx:3003
 TBufferXML.cxx:3004
 TBufferXML.cxx:3005
 TBufferXML.cxx:3006
 TBufferXML.cxx:3007
 TBufferXML.cxx:3008
 TBufferXML.cxx:3009
 TBufferXML.cxx:3010
 TBufferXML.cxx:3011
 TBufferXML.cxx:3012
 TBufferXML.cxx:3013
 TBufferXML.cxx:3014
 TBufferXML.cxx:3015
 TBufferXML.cxx:3016
 TBufferXML.cxx:3017
 TBufferXML.cxx:3018
 TBufferXML.cxx:3019
 TBufferXML.cxx:3020
 TBufferXML.cxx:3021
 TBufferXML.cxx:3022
 TBufferXML.cxx:3023
 TBufferXML.cxx:3024
 TBufferXML.cxx:3025
 TBufferXML.cxx:3026
 TBufferXML.cxx:3027
 TBufferXML.cxx:3028
 TBufferXML.cxx:3029
 TBufferXML.cxx:3030
 TBufferXML.cxx:3031
 TBufferXML.cxx:3032
 TBufferXML.cxx:3033
 TBufferXML.cxx:3034
 TBufferXML.cxx:3035
 TBufferXML.cxx:3036
 TBufferXML.cxx:3037
 TBufferXML.cxx:3038
 TBufferXML.cxx:3039
 TBufferXML.cxx:3040
 TBufferXML.cxx:3041
 TBufferXML.cxx:3042
 TBufferXML.cxx:3043
 TBufferXML.cxx:3044
 TBufferXML.cxx:3045
 TBufferXML.cxx:3046
 TBufferXML.cxx:3047
 TBufferXML.cxx:3048
 TBufferXML.cxx:3049
 TBufferXML.cxx:3050
 TBufferXML.cxx:3051
 TBufferXML.cxx:3052
 TBufferXML.cxx:3053
 TBufferXML.cxx:3054
 TBufferXML.cxx:3055
 TBufferXML.cxx:3056
 TBufferXML.cxx:3057
 TBufferXML.cxx:3058
 TBufferXML.cxx:3059
 TBufferXML.cxx:3060
 TBufferXML.cxx:3061
 TBufferXML.cxx:3062
 TBufferXML.cxx:3063
 TBufferXML.cxx:3064
 TBufferXML.cxx:3065
 TBufferXML.cxx:3066
 TBufferXML.cxx:3067
 TBufferXML.cxx:3068
 TBufferXML.cxx:3069
 TBufferXML.cxx:3070
 TBufferXML.cxx:3071
 TBufferXML.cxx:3072
 TBufferXML.cxx:3073
 TBufferXML.cxx:3074
 TBufferXML.cxx:3075
 TBufferXML.cxx:3076
 TBufferXML.cxx:3077
 TBufferXML.cxx:3078
 TBufferXML.cxx:3079
 TBufferXML.cxx:3080
 TBufferXML.cxx:3081
 TBufferXML.cxx:3082
 TBufferXML.cxx:3083
 TBufferXML.cxx:3084
 TBufferXML.cxx:3085
 TBufferXML.cxx:3086
 TBufferXML.cxx:3087
 TBufferXML.cxx:3088
 TBufferXML.cxx:3089
 TBufferXML.cxx:3090
 TBufferXML.cxx:3091
 TBufferXML.cxx:3092
 TBufferXML.cxx:3093
 TBufferXML.cxx:3094
 TBufferXML.cxx:3095
 TBufferXML.cxx:3096
 TBufferXML.cxx:3097
 TBufferXML.cxx:3098
 TBufferXML.cxx:3099
 TBufferXML.cxx:3100
 TBufferXML.cxx:3101
 TBufferXML.cxx:3102
 TBufferXML.cxx:3103
 TBufferXML.cxx:3104
 TBufferXML.cxx:3105
 TBufferXML.cxx:3106
 TBufferXML.cxx:3107
 TBufferXML.cxx:3108
 TBufferXML.cxx:3109
 TBufferXML.cxx:3110
 TBufferXML.cxx:3111
 TBufferXML.cxx:3112
 TBufferXML.cxx:3113
 TBufferXML.cxx:3114
 TBufferXML.cxx:3115
 TBufferXML.cxx:3116
 TBufferXML.cxx:3117
 TBufferXML.cxx:3118
 TBufferXML.cxx:3119
 TBufferXML.cxx:3120
 TBufferXML.cxx:3121
 TBufferXML.cxx:3122
 TBufferXML.cxx:3123
 TBufferXML.cxx:3124
 TBufferXML.cxx:3125
 TBufferXML.cxx:3126
 TBufferXML.cxx:3127
 TBufferXML.cxx:3128
 TBufferXML.cxx:3129
 TBufferXML.cxx:3130
 TBufferXML.cxx:3131
 TBufferXML.cxx:3132
 TBufferXML.cxx:3133
 TBufferXML.cxx:3134
 TBufferXML.cxx:3135
 TBufferXML.cxx:3136
 TBufferXML.cxx:3137
 TBufferXML.cxx:3138
 TBufferXML.cxx:3139
 TBufferXML.cxx:3140
 TBufferXML.cxx:3141
 TBufferXML.cxx:3142
 TBufferXML.cxx:3143
 TBufferXML.cxx:3144
 TBufferXML.cxx:3145
 TBufferXML.cxx:3146
 TBufferXML.cxx:3147
 TBufferXML.cxx:3148
 TBufferXML.cxx:3149
 TBufferXML.cxx:3150
 TBufferXML.cxx:3151
 TBufferXML.cxx:3152
 TBufferXML.cxx:3153
 TBufferXML.cxx:3154
 TBufferXML.cxx:3155
 TBufferXML.cxx:3156
 TBufferXML.cxx:3157
 TBufferXML.cxx:3158
 TBufferXML.cxx:3159
 TBufferXML.cxx:3160
 TBufferXML.cxx:3161
 TBufferXML.cxx:3162
 TBufferXML.cxx:3163
 TBufferXML.cxx:3164
 TBufferXML.cxx:3165
 TBufferXML.cxx:3166
 TBufferXML.cxx:3167
 TBufferXML.cxx:3168
 TBufferXML.cxx:3169
 TBufferXML.cxx:3170
 TBufferXML.cxx:3171
 TBufferXML.cxx:3172
 TBufferXML.cxx:3173
 TBufferXML.cxx:3174
 TBufferXML.cxx:3175
 TBufferXML.cxx:3176
 TBufferXML.cxx:3177
 TBufferXML.cxx:3178
 TBufferXML.cxx:3179
 TBufferXML.cxx:3180
 TBufferXML.cxx:3181
 TBufferXML.cxx:3182
 TBufferXML.cxx:3183
 TBufferXML.cxx:3184
 TBufferXML.cxx:3185
 TBufferXML.cxx:3186
 TBufferXML.cxx:3187
 TBufferXML.cxx:3188
 TBufferXML.cxx:3189
 TBufferXML.cxx:3190
 TBufferXML.cxx:3191
 TBufferXML.cxx:3192
 TBufferXML.cxx:3193
 TBufferXML.cxx:3194
 TBufferXML.cxx:3195
 TBufferXML.cxx:3196
 TBufferXML.cxx:3197
 TBufferXML.cxx:3198
 TBufferXML.cxx:3199
 TBufferXML.cxx:3200
 TBufferXML.cxx:3201
 TBufferXML.cxx:3202
 TBufferXML.cxx:3203
 TBufferXML.cxx:3204
 TBufferXML.cxx:3205
 TBufferXML.cxx:3206
 TBufferXML.cxx:3207
 TBufferXML.cxx:3208
 TBufferXML.cxx:3209
 TBufferXML.cxx:3210
 TBufferXML.cxx:3211
 TBufferXML.cxx:3212
 TBufferXML.cxx:3213
 TBufferXML.cxx:3214
 TBufferXML.cxx:3215
 TBufferXML.cxx:3216
 TBufferXML.cxx:3217
 TBufferXML.cxx:3218
 TBufferXML.cxx:3219
 TBufferXML.cxx:3220
 TBufferXML.cxx:3221
 TBufferXML.cxx:3222
 TBufferXML.cxx:3223
 TBufferXML.cxx:3224
 TBufferXML.cxx:3225
 TBufferXML.cxx:3226
 TBufferXML.cxx:3227
 TBufferXML.cxx:3228
 TBufferXML.cxx:3229
 TBufferXML.cxx:3230
 TBufferXML.cxx:3231
 TBufferXML.cxx:3232
 TBufferXML.cxx:3233
 TBufferXML.cxx:3234
 TBufferXML.cxx:3235
 TBufferXML.cxx:3236
 TBufferXML.cxx:3237
 TBufferXML.cxx:3238
 TBufferXML.cxx:3239
 TBufferXML.cxx:3240
 TBufferXML.cxx:3241
 TBufferXML.cxx:3242
 TBufferXML.cxx:3243
 TBufferXML.cxx:3244
 TBufferXML.cxx:3245
 TBufferXML.cxx:3246
 TBufferXML.cxx:3247
 TBufferXML.cxx:3248
 TBufferXML.cxx:3249
 TBufferXML.cxx:3250
 TBufferXML.cxx:3251
 TBufferXML.cxx:3252
 TBufferXML.cxx:3253
 TBufferXML.cxx:3254
 TBufferXML.cxx:3255
 TBufferXML.cxx:3256
 TBufferXML.cxx:3257
 TBufferXML.cxx:3258
 TBufferXML.cxx:3259
 TBufferXML.cxx:3260
 TBufferXML.cxx:3261
 TBufferXML.cxx:3262
 TBufferXML.cxx:3263
 TBufferXML.cxx:3264
 TBufferXML.cxx:3265
 TBufferXML.cxx:3266
 TBufferXML.cxx:3267
 TBufferXML.cxx:3268
 TBufferXML.cxx:3269
 TBufferXML.cxx:3270
 TBufferXML.cxx:3271