#ifndef SQL_CRSR
# define SQL_CRSR
struct sql_cursor
{
unsigned int curocn;
void *ptr1;
void *ptr2;
unsigned int magic;
};
typedef struct sql_cursor sql_cursor;
typedef struct sql_cursor SQL_CURSOR;
#endif /* SQL_CRSR */
typedef void * sql_context;
typedef void * SQL_CONTEXT;
struct sqltvn
{
unsigned char *tvnvsn;
unsigned short tvnvsnl;
unsigned char *tvnnm;
unsigned short tvnnml;
unsigned char *tvnsnm;
unsigned short tvnsnml;
};
typedef struct sqltvn sqltvn;
struct sqladts
{
unsigned int adtvsn;
unsigned short adtmode;
unsigned short adtnum;
sqltvn adttvn[1];
};
typedef struct sqladts sqladts;
static struct sqladts sqladt = {
1,1,0,
};
struct sqltdss
{
unsigned int tdsvsn;
unsigned short tdsnum;
unsigned char *tdsval[1];
};
typedef struct sqltdss sqltdss;
static struct sqltdss sqltds =
{
1,
0,
};
struct sqlcxp
{
unsigned short fillen;
char filnam[18];
};
static const struct sqlcxp sqlfpn =
{
17,
"hrichparora2io.pc"
};
static unsigned int sqlctx = 9756451;
static struct sqlexd {
unsigned long sqlvsn;
unsigned int arrsiz;
unsigned int iters;
unsigned int offset;
unsigned short selerr;
unsigned short sqlety;
unsigned int occurs;
const short *cud;
unsigned char *sqlest;
const char *stmt;
sqladts *sqladtp;
sqltdss *sqltdsp;
unsigned char **sqphsv;
unsigned long *sqphsl;
int *sqphss;
short **sqpind;
int *sqpins;
unsigned long *sqparm;
unsigned long **sqparc;
unsigned short *sqpadto;
unsigned short *sqptdso;
unsigned int sqlcmax;
unsigned int sqlcmin;
unsigned int sqlcincr;
unsigned int sqlctimeout;
unsigned int sqlcnowait;
int sqfoff;
unsigned int sqcmod;
unsigned int sqfmod;
unsigned int sqlpfmem;
unsigned char *sqhstv[8];
unsigned long sqhstl[8];
int sqhsts[8];
short *sqindv[8];
int sqinds[8];
unsigned long sqharm[8];
unsigned long *sqharc[8];
unsigned short sqadto[8];
unsigned short sqtdso[8];
} sqlstm = {13,8};
extern "C" {
void sqlcxt (void **, unsigned int *,
struct sqlexd *, const struct sqlcxp *);
void sqlcx2t(void **, unsigned int *,
struct sqlexd *, const struct sqlcxp *);
void sqlbuft(void **, char *);
void sqlgs2t(void **, char *);
void sqlorat(void **, unsigned int *, void *);
}
static const int IAPSUCC = 0;
static const int IAPFAIL = 1403;
static const int IAPFTL = 535;
extern "C" { void sqliem(unsigned char *, signed int *); }
static const char *sq0007 =
"select sector ,pad_col ,pad_row ,offset ,sigma from rich_ana2.rich_calpar_d\
ata_view where vers_id=:b0 ";
typedef struct { unsigned short len; unsigned char arr[1]; } VARCHAR;
typedef struct { unsigned short len; unsigned char arr[1]; } varchar;
static const short sqlcud0[] =
{13,4130,1,0,0,
5,0,0,1,169,0,4,162,0,0,4,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
36,0,0,2,173,0,4,170,0,0,4,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
67,0,0,3,155,0,4,178,0,0,3,0,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,
94,0,0,4,172,0,4,185,0,0,4,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
125,0,0,5,175,0,4,195,0,0,4,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
156,0,0,6,132,0,4,233,0,0,6,1,0,1,0,2,3,0,0,2,3,0,0,2,68,0,0,2,68,0,0,2,68,0,0,
1,3,0,0,
195,0,0,7,113,0,9,283,0,0,1,1,0,1,0,1,3,0,0,
214,0,0,7,0,0,13,286,0,0,5,0,0,1,0,2,3,0,0,2,3,0,0,2,3,0,0,2,4,0,0,2,4,0,0,
249,0,0,7,0,0,15,311,0,0,0,0,0,1,0,
264,0,0,8,130,0,4,344,0,0,4,1,0,1,0,2,3,0,0,2,3,0,0,2,4,0,0,1,3,0,0,
295,0,0,9,137,0,4,387,0,0,5,1,0,1,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,0,0,1,3,0,0,
330,0,0,10,166,0,4,434,0,0,8,1,0,1,0,2,3,0,0,2,3,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,
4,0,0,2,3,0,0,1,3,0,0,
377,0,0,11,105,0,4,534,0,0,2,0,0,1,0,2,3,0,0,2,9,0,0,
400,0,0,12,246,0,6,617,0,0,5,5,0,1,0,3,3,0,0,1,3,0,0,1,3,0,0,1,97,0,0,1,97,0,0,
435,0,0,13,250,0,6,626,0,0,5,5,0,1,0,3,3,0,0,1,3,0,0,1,3,0,0,1,97,0,0,1,97,0,0,
470,0,0,14,253,0,6,635,0,0,5,5,0,1,0,3,3,0,0,1,3,0,0,1,3,0,0,1,97,0,0,1,97,0,0,
505,0,0,15,252,0,6,644,0,0,5,5,0,1,0,3,3,0,0,1,3,0,0,1,3,0,0,1,97,0,0,1,97,0,0,
540,0,0,16,153,0,3,695,0,0,6,6,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,
3,0,0,
579,0,0,17,138,0,3,762,0,0,6,6,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,4,0,0,1,
4,0,0,
618,0,0,18,251,0,6,809,0,0,4,4,0,1,0,3,3,0,0,1,3,0,0,1,97,0,0,1,97,0,0,
649,0,0,19,100,0,3,848,0,0,3,3,0,1,0,1,3,0,0,1,3,0,0,1,4,0,0,
676,0,0,20,127,0,3,903,0,0,5,5,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,
711,0,0,21,143,0,3,972,0,0,8,8,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,1,4,0,0,1,4,0,0,1,
4,0,0,1,4,0,0,1,3,0,0,
};
using namespace std;
#include "hrichparora2io.h"
#include "hparora2set.h"
#include "hrichmappingpar.h"
#include "hrichcalpar.h"
#include "hrichcalparcell.h"
#include "hrichthresholdpar.h"
#include "hrich700trb3lookup.h"
#include "hrich700thresholdpar.h"
#include "hrich700geompar.h"
#include "hgeomcompositevolume.h"
#include "hora2geomdetversion.h"
#include "richdef.h"
#include "TClass.h"
#include <iostream>
#include <iomanip>
#include <unistd.h>
#define SQLCA_STORAGE_CLASS extern
#define ORACA_STORAGE_CLASS extern
#include <oraca.h>
#include <sqlca.h>
ClassImp(HRichParOra2Io)
#define RICH_MAXSECT 6
#define RICH_MAXPADS 4900
#define RICH700_MAXPMT 576
HRichParOra2Io::HRichParOra2Io(HOra2Conn* pC) : HDetParOra2Io(pC), geomVers(0) {
fName="HRichParIo";
initModules=new TArrayI(RICH_MAX_SECTORS);
}
HRichParOra2Io::~HRichParOra2Io() {
if (initModules) delete initModules;
}
Bool_t HRichParOra2Io::init(HParSet* pPar,Int_t* set) {
if (getRunStart(pPar)<0) {
pPar->setInputVersion(-1,inputNumber);
return kFALSE;
}
const Text_t* name=pPar->IsA()->GetName();
if (strcmp(name,"HRichMappingPar")==0) return read(((HRichMappingPar*)pPar),set);
if (strcmp(name,"HRichCalPar")==0) return read(((HRichCalPar*)pPar),set);
if (strcmp(name,"HRichThresholdPar")==0) return read(((HRichThresholdPar*)pPar),set);
if (strcmp(name,"HRich700Trb3Lookup")==0) return read(((HRich700Trb3Lookup*)pPar),set);
if (strcmp(name,"HRich700ThresholdPar")==0) return read(((HRich700ThresholdPar*)pPar),set);
if (strcmp(name,"HRich700GeomPar")==0) return read(((HRich700GeomPar*)pPar),set);
cout<<"No read-interface to Oracle for parameter container "
<<pPar->GetName()<<endl;
return kFALSE;
}
Int_t HRichParOra2Io::write(HParSet* pPar) {
if (getRunStart(pPar)<=0) return -1;
const Text_t* name=pPar->IsA()->GetName();
if (!strcmp(name,"HRichMappingPar"))
return writePar((HRichMappingPar*)pPar);
if (!strcmp(name,"HRichCalPar"))
return writePar((HRichCalPar*)pPar);
if (!strcmp(name,"HRichThresholdPar"))
return writePar((HRichThresholdPar*)pPar);
if (!strcmp(name,"HRich700Trb3Lookup"))
return writePar((HRich700Trb3Lookup*)pPar);
if (!strcmp(name,"HRich700ThresholdPar"))
return writePar((HRich700ThresholdPar*)pPar);
if (!strcmp(name,"HRich700GeomPar"))
return writeAlignment((HRich700GeomPar*)pPar);
cout<<"No write-interface to Oracle for parameter container "
<<pPar->GetName()<<endl;
return 0;
}
void HRichParOra2Io::printInfo(const Char_t* contName) {
Bool_t first=kTRUE;
for(Int_t i=0;i<RICH_MAX_SECTORS;i++) {
if (initModules->At(i)) {
if (first) {
cout<<contName<<": sector(s) initialized from Oracle: ";
first=kFALSE;
}
cout<<(initModules->At(i)-1)<<" ";
}
}
cout<<'\n';
}
Bool_t HRichParOra2Io::getVersion(HParSet* pPar,Int_t& version) {
HParOra2Set* oraSet=getOraSet(pPar);
const Char_t* containerClass=pPar->IsA()->GetName();
if (strcmp(containerClass,"HRichThresholdPar")==0) oraSet->contextId=0;
if (oraSet->contextId==-1 || runStart<0) {
pPar->setInputVersion(-1,inputNumber);
version=-1;
return kFALSE;
}
Int_t contVers=pPar->getInputVersion(inputNumber);
if (contVers!=-1 && runStart>=oraSet->versDate[0] && runStart<=oraSet->versDate[1]) {
version=contVers;
return kFALSE;
}
oraSet->clearVersDate();
int context;
int vers;
double since;
double until;
context=oraSet->contextId;
if (strcmp(containerClass,"HRichCalPar")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 4;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select version ,hanadate.date_to_number(valid_since) ,han\
adate.date_to_number(valid_until) into :b0,:b1,:b2 from rich_ana2.rich_calpar\
_vers_at_date where context_id=:b3";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )5;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&since;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&until;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)&context;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) showSqlError("getVersion(HParSet*,Int_t&)");
}
}
else if (strcmp(containerClass,"HRichMappingPar")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 4;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select version ,hanadate.date_to_number(valid_since) ,h\
anadate.date_to_number(valid_until) into :b0,:b1,:b2 from rich_ana2.rich_mapp\
ingpar_vers_at_date where context_id=:b3";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )36;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&since;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&until;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)&context;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) showSqlError("getVersion(HParSet*,Int_t&)");
}
}
else if (strcmp(containerClass,"HRichThresholdPar")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 4;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select version ,hanadate.date_to_number(valid_since) \
,hanadate.date_to_number(valid_until) into :b0,:b1,:b2 from rich_ana2.rich_th\
resholdpar_vers_at_date ";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )67;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&since;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&until;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) showSqlError("getVersion(HParSet*,Int_t&)");
}
}
else if (strcmp(containerClass,"HRich700Trb3Lookup")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 4;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select version ,hanadate.date_to_number(valid_sin\
ce) ,hanadate.date_to_number(valid_until) into :b0,:b1,:b2 from rich_ana2.ric\
h700_lookup_vers_at_date where context_id=:b3";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )94;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&since;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&until;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)&context;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) showSqlError("getVersion(HParSet*,Int_t&)");
}
}
else if (strcmp(containerClass,"HRich700ThresholdPar")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 4;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select version ,hanadate.date_to_number(valid_s\
ince) ,hanadate.date_to_number(valid_until) into :b0,:b1,:b2 from rich_ana2.r\
ich700_threshold_vers_at_date where context_id=:b3";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )125;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&since;
sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&until;
sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)&context;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto notfound;
if (sqlca.sqlcode < 0) showSqlError("getVersion(HParSet*,Int_t&)");
}
}
version=vers;
oraSet->versDate[0]=since;
oraSet->versDate[1]=until;
return kTRUE;
notfound:
pPar->setInputVersion(-1,inputNumber);
version=-1;
return kFALSE;
}
Bool_t HRichParOra2Io::read(HRichMappingPar* pPar, Int_t* set) {
Int_t oraVersion=-1;
Bool_t rc=getVersion(pPar,oraVersion);
if (oraVersion<0) return kFALSE;
if (oraVersion>=0&&rc==kFALSE) return kTRUE;
pPar->clear();
int vers;
struct {
int p_col[RICH_MAXPADS];
int p_row[RICH_MAXPADS];
unsigned int adc[RICH_MAXPADS];
unsigned int apv[RICH_MAXPADS];
unsigned int chan[RICH_MAXPADS];
} map;
vers=oraVersion;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 6;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select pad_col ,pad_row ,adc ,apv ,channel into :s1 ,:s2 ,:\
s3 ,:s4 ,:s5 from rich_ana2.rich_mappingpar_data_view where vers_id=:b1";
sqlstm.iters = (unsigned int )4900;
sqlstm.offset = (unsigned int )156;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)map.p_col;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)map.p_row;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)map.adc;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)map.apv;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)map.chan;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)&vers;
sqlstm.sqhstl[5] = (unsigned long )sizeof(int);
sqlstm.sqhsts[5] = ( int )sizeof(int);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HRichMappingPar*,Int_t*)");
}
rc=kTRUE;
for (Int_t i=0;i<sqlca.sqlerrd[2]&&rc;i++) {
rc=pPar->setAddress(map.p_row[i],map.p_col[i],map.adc[i],map.apv[i],map.chan[i]);
}
if (sqlca.sqlerrd[2]>0&&rc) {
setChanged(pPar,oraVersion);
cout<<pPar->GetName()<<" initialized from Oracle"<<endl;
} else {
pPar->setInputVersion(-1,inputNumber);
}
return rc;
}
Bool_t HRichParOra2Io::read(HRichCalPar* pPar, Int_t* set) {
Int_t oraVersion=-1;
Bool_t rc=getVersion(pPar,oraVersion);
if (oraVersion<0) return kFALSE;
if (oraVersion>=0&&rc==kFALSE) return kTRUE;
pPar->clear();
initModules->Reset();
int vers;
struct {
int sec[RICH_MAXPADS];
int p_col[RICH_MAXPADS];
int p_row[RICH_MAXPADS];
float of[RICH_MAXPADS];
float si[RICH_MAXPADS];
} cal;
vers=oraVersion;
Bool_t isOpenCursor=kFALSE;
Bool_t allFound=kTRUE;
Int_t s=-1, nTot=0, nLast=0;
HLocation loc;
loc.setNIndex(3);
HRichCalParCell* pCell=0;
vers=oraVersion;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 6;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = sq0007;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )195;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqcmod = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HRichCalPar*,Int_t*)");
}
isOpenCursor=kTRUE;
do {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 6;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )4900;
sqlstm.offset = (unsigned int )214;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqfoff = ( int )0;
sqlstm.sqfmod = (unsigned int )2;
sqlstm.sqhstv[0] = (unsigned char *)cal.sec;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)cal.p_col;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)cal.p_row;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)cal.of;
sqlstm.sqhstl[3] = (unsigned long )sizeof(float);
sqlstm.sqhsts[3] = ( int )sizeof(float);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)cal.si;
sqlstm.sqhstl[4] = (unsigned long )sizeof(float);
sqlstm.sqhsts[4] = ( int )sizeof(float);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HRichCalPar*,Int_t*)");
}
nLast=sqlca.sqlerrd[2]-nTot;
if (nLast>0) {
for (Int_t i=0;i<nLast;i++) {
s=cal.sec[i]-1;
if (set[s]) {
loc[0] = s;
loc[1] = cal.p_row[i];
loc[2] = cal.p_col[i];
pCell = (HRichCalParCell*)pPar->getSlot(loc);
if (pCell) {
pCell->setParams(cal.of[i],cal.si[i]);
} else {
Error("read(HRichCalPar*,Int_t*)",
"slot not found: %i %i %i",loc[0],loc[1],loc[2]);
allFound=kFALSE;
break;
}
initModules->AddAt(1,s);
}
nTot++;
}
}
} while (nLast==RICH_MAXPADS&&nTot<=29400&&allFound);
if (isOpenCursor) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 6;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )249;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HRichCalPar*,Int_t*)");
}
for(Int_t i=0;i<RICH_MAX_SECTORS;i++) {
if (set[i]>0 && initModules->At(i)==0) allFound=kFALSE;
}
} else allFound=kFALSE;
if (allFound) {
setChanged(pPar,oraVersion);
printInfo(pPar->GetName());
} else {
pPar->setInputVersion(-1,inputNumber);
}
return allFound;
}
Bool_t HRichParOra2Io::read(HRichThresholdPar* pPar, Int_t* set) {
Int_t oraVersion=-1;
Bool_t rc=getVersion(pPar,oraVersion);
if (oraVersion<0) return kFALSE;
if (oraVersion>=0&&rc==kFALSE) return kTRUE;
pPar->clear();
int vers;
struct {
int sec[RICH_MAXSECT];
int calparvers[RICH_MAXSECT];
float multsigma[RICH_MAXSECT];
} thres;
vers=oraVersion;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 6;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select sector_id ,calpar_vers_id ,multiply_sigma into :s1 ,\
:s2 ,:s3 from rich_ana2.rich_thresholdpar_data_view where vers_id=:b1";
sqlstm.iters = (unsigned int )6;
sqlstm.offset = (unsigned int )264;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)thres.sec;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)thres.calparvers;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)thres.multsigma;
sqlstm.sqhstl[2] = (unsigned long )sizeof(float);
sqlstm.sqhsts[2] = ( int )sizeof(float);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)&vers;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HRichThresholdPar*,Int_t*)");
}
rc=kTRUE;
for (Int_t i=0;i<sqlca.sqlerrd[2];i++) {
if (i==0) pPar->setCalParVers(thres.calparvers[i]);
pPar->setSigmaMultiplier(thres.sec[i]-1,thres.multsigma[i]);
}
if (sqlca.sqlerrd[2]>0) {
setChanged(pPar,oraVersion);
cout<<pPar->GetName()<<" initialized from Oracle"<<endl;
} else {
pPar->setInputVersion(-1,inputNumber);
rc=kFALSE;
}
return rc;
}
Bool_t HRichParOra2Io::read(HRich700Trb3Lookup* pPar, Int_t* set) {
Int_t oraVersion=-1;
Bool_t rc=getVersion(pPar,oraVersion);
if (oraVersion<0) return kFALSE;
if (oraVersion>=0&&rc==kFALSE) return kTRUE;
pPar->clear();
int vers;
struct {
int address[RICH700_MAXPIXELS];
int chan[RICH700_MAXPIXELS];
int pmt[RICH700_MAXPIXELS];
int pixel[RICH700_MAXPIXELS];
} lookup;
vers=oraVersion;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 6;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select trbnet_address ,channel ,pmt_id ,pmt_pixel into :s\
1 ,:s2 ,:s3 ,:s4 from rich_ana2.rich700_trb3lookup_data_view where vers_id=:\
b1";
sqlstm.iters = (unsigned int )36864;
sqlstm.offset = (unsigned int )295;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)lookup.address;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)lookup.chan;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)lookup.pmt;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)lookup.pixel;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)&vers;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HRich700Trb3Lookup*)");
}
Int_t nData=sqlca.sqlerrd[2];
for (Int_t i=0;i<nData;i++) {
pPar->fill(lookup.address[i],lookup.chan[i],
lookup.pmt[i],lookup.pixel[i]);
}
if (nData>0) {
setChanged(pPar,oraVersion);
cout<<pPar->GetName()<<" initialized from Oracle"<<endl;
rc=kTRUE;
} else {
pPar->setInputVersion(-1,inputNumber);
rc=kFALSE;
}
return rc;
}
Bool_t HRichParOra2Io::read(HRich700ThresholdPar* pPar, Int_t* set) {
Int_t oraVersion=-1;
Bool_t rc=getVersion(pPar,oraVersion);
if (oraVersion<0) return kFALSE;
if (oraVersion>=0&&rc==kFALSE) return kTRUE;
pPar->clear();
int vers;
struct {
int pmt[RICH700_MAXPIXELS];
int pixel[RICH700_MAXPIXELS];
float tmin [RICH700_MAXPIXELS];
float tmax [RICH700_MAXPIXELS];
float totmin [RICH700_MAXPIXELS];
float totmax [RICH700_MAXPIXELS];
int flag[RICH700_MAXPIXELS];
} thresholds;
vers=oraVersion;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select pmt_id ,pmt_pixel ,t_min ,t_max ,tot_min ,tot_max \
,status into :s1 ,:s2 ,:s3 ,:s4 ,:s5 ,:s6 ,:s7 from rich_ana2.rich700_thresh\
old_data_view where vers_id=:b1";
sqlstm.iters = (unsigned int )36864;
sqlstm.offset = (unsigned int )330;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)thresholds.pmt;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)thresholds.pixel;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)thresholds.tmin;
sqlstm.sqhstl[2] = (unsigned long )sizeof(float);
sqlstm.sqhsts[2] = ( int )sizeof(float);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)thresholds.tmax;
sqlstm.sqhstl[3] = (unsigned long )sizeof(float);
sqlstm.sqhsts[3] = ( int )sizeof(float);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)thresholds.totmin;
sqlstm.sqhstl[4] = (unsigned long )sizeof(float);
sqlstm.sqhsts[4] = ( int )sizeof(float);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)thresholds.totmax;
sqlstm.sqhstl[5] = (unsigned long )sizeof(float);
sqlstm.sqhsts[5] = ( int )sizeof(float);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)thresholds.flag;
sqlstm.sqhstl[6] = (unsigned long )sizeof(int);
sqlstm.sqhsts[6] = ( int )sizeof(int);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqharc[6] = (unsigned long *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = (unsigned char *)&vers;
sqlstm.sqhstl[7] = (unsigned long )sizeof(int);
sqlstm.sqhsts[7] = ( int )sizeof(int);
sqlstm.sqindv[7] = ( short *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned long )0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HRich700ThresholdPar*)");
}
Int_t nData=sqlca.sqlerrd[2];
for (Int_t i=0;i<nData;i++) {
pPar->setPixelThreshold(
thresholds.pmt[i],thresholds.pixel[i],
thresholds.tmin[i],thresholds.tmax[i], thresholds.totmin[i],thresholds.totmax[i],
thresholds.flag[i]
);
}
if (nData>0) {
setChanged(pPar,oraVersion);
cout<<pPar->GetName()<<" initialized from Oracle"<<endl;
rc=kTRUE;
} else {
pPar->setInputVersion(-1,inputNumber);
rc=kFALSE;
}
return rc;
}
Bool_t HRichParOra2Io::read(HRich700GeomPar* pPar, Int_t* set) {
Bool_t allFound=kTRUE;
Int_t detId=-1;
if (!geomVers) {
#ifdef JAM_GEO_DEBUG
std::cout<<" HRichParOra2Io::read(HRich700GeomPar* ) has detector name "<<pPar->getDetectorName()<< std::endl;
#endif
detId=getDetectorId(pPar->getDetectorName());
#ifdef JAM_GEO_DEBUG
std::cout<<" HRichParOra2Io::read(HRich700GeomPar* ) has detector id "<<detId<< std::endl;
#endif
geomVers=new HOra2GeomDetVersion(pPar->getDetectorName(),detId);
#ifdef JAM_GEO_DEBUG
std::cout<<" HRichParOra2Io::read(HRich700GeomPar* ) has geomVers:"<<geomVers->GetName()<< std::endl;
geomVers->Print();
#endif
} else {
detId=geomVers->getDetectorId();
}
if (detId<=0) {
allFound=kFALSE;
delete geomVers;
geomVers=0;
}
if (detId>0&&pPar->isFirstInitialization()) {
if (!readModGeomNames(pPar) || !readCompGeomNames(pPar)) {
allFound=kFALSE;
pPar->clear();
} else addGeomOraSet(pPar);
}
if (allFound) allFound=readDetectorGeometry(pPar,set,geomVers);
return allFound;
}
Bool_t HRichParOra2Io::readModGeomNames(HRich700GeomPar* pPar) {
Bool_t allFound=kFALSE;
TString modName=pPar->getDetectorName();
modName.ToUpper();
HModGeomPar* pMod=pPar->getModule(-1,0);
if (pMod) {
pMod->SetName(modName);
pMod->setRefName(modName);
HGeomCompositeVolume* refMod=pPar->getRefVolume(0);
if (refMod==0) {
#ifdef JAM_GEO_DEBUG
std::cout<<" HRichParOra2Io::readModGeomNames(HRich700GeomPar* ) creates new refmod with "<<pPar->getNumComponents() <<" components and name "<<modName.Data()<< std::endl;
#endif
refMod=new HGeomCompositeVolume(pPar->getNumComponents());
refMod->SetName(modName);
pPar->addRefVolume(refMod,0);
}
pMod->setVolume(refMod);
allFound=kTRUE;
}
return allFound;
}
Bool_t HRichParOra2Io::readCompGeomNames(HRich700GeomPar* pPar) {
struct {
int cell [RICH700_MAX_PMT];
struct { unsigned short len; unsigned char arr[10]; } oname[576];
} lrecG;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select pmt_id ,geom_obj_name into :s1 ,:s2 from rich_ana2\
.rich700_pmt where geom_obj_name is not null ";
sqlstm.iters = (unsigned int )576;
sqlstm.offset = (unsigned int )377;
sqlstm.selerr = (unsigned short)1;
sqlstm.sqlpfmem = (unsigned int )0;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)lrecG.cell;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)lrecG.oname;
sqlstm.sqhstl[1] = (unsigned long )11;
sqlstm.sqhsts[1] = ( int )12;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("readCompGeomNames(...)");
}
Int_t nCells=sqlca.sqlerrd[2];
#ifdef JAM_GEO_DEBUG
std::cout<<" HRichParOra2Io::readCompGeomNames(HRich700GeomPar* ) finds "<<nCells<<" cells."<< std::endl;
#endif
for(Int_t k=0;k<nCells;k++) {
HModGeomPar* pMod=pPar->getModule(-1,0);
#ifdef JAM_GEO_DEBUG
if(!pMod)
{
std::cout<<" HRichParOra2Io::readCompGeomNames(HRich700GeomPar* ) can not find first module! "<< std::endl;
return kFALSE;
}
std::cout<<" HRichParOra2Io::readCompGeomNames(HRich700GeomPar* ) has first module "<<pMod->GetName()<< std::endl;
#endif
HGeomCompositeVolume* pRefMod=pMod->getRefVolume();
#ifdef JAM_GEO_DEBUG
if(!pRefMod)
{
std::cout<<" HRichParOra2Io::readCompGeomNames(HRich700GeomPar* ) can not find reference volume! "<< std::endl;
return kFALSE;
}
std::cout<<" HRichParOra2Io::readCompGeomNames(HRich700GeomPar* ) has reference volume "<<pRefMod->GetName()<< std::endl;
#endif
lrecG.oname[k].arr[lrecG.oname[k].len]='\0';
HGeomVolume* volu=pRefMod->getComponent((lrecG.cell[k]-1));
#ifdef JAM_GEO_DEBUG
if(!volu)
{
std::cout<<" HRichParOra2Io::readCompGeomNames(HRich700GeomPar* ) can not find component volume "<<k <<", id:" << (lrecG.cell[k]-1) << std::endl;
return kFALSE;
}
#endif
volu->SetName((Char_t*)(lrecG.oname[k].arr));
#ifdef JAM_GEO_DEBUG
std::cout<<" HRichParOra2Io::readCompGeomNames(HRich700GeomPar* ) sets component volume name to"<<volu->GetName()<< std::endl;
#endif
}
return (nCells>0) ? kTRUE : kFALSE;
}
Int_t HRichParOra2Io::createVers(HParSet* pPar) {
cout<<"--------------- "<<pPar->GetName()<<" ---------------\n";
if (strlen(pPar->getAuthor())==0) {
Error("createVers(...)",
"author of parameters not defined");
return -1;
}
if (strlen(pPar->getDescription())==0) {
Error("createVers(...)",
"descriction of parameters not defined");
return -1;
}
const Char_t* contName=pPar->IsA()->GetName();
int context;
int vers=-1;
int run;
char* creator;
char* descript;
context = getContextId(contName,pPar->getParamContext());
if (context==-1) return -1;
run=getActRunId();
creator=(Char_t*)pPar->getAuthor();
descript=(Char_t*)pPar->getDescription();
if (strcmp(contName,"HRichCalPar")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT rich_ana2 . rich_par_query . next_version IN\
TO :vers FROM DUAL ; INSERT INTO rich_ana2 . rich_calpar_vers ( vers_id , orig\
_context_id , run_id , author , description ) VALUES ( :vers , :context , :run\
, :creator , :descript ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )400;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&context;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&run;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)creator;
sqlstm.sqhstl[3] = (unsigned long )0;
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)descript;
sqlstm.sqhstl[4] = (unsigned long )0;
sqlstm.sqhsts[4] = ( int )0;
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
} else if (strcmp(contName,"HRichMappingPar")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT rich_ana2 . rich_par_query . next_version \
INTO :vers FROM DUAL ; INSERT INTO rich_ana2 . rich_mappingpar_vers ( vers_id \
, orig_context_id , run_id , author , description ) VALUES ( :vers , :context \
, :run , :creator , :descript ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )435;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&context;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&run;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)creator;
sqlstm.sqhstl[3] = (unsigned long )0;
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)descript;
sqlstm.sqhstl[4] = (unsigned long )0;
sqlstm.sqhsts[4] = ( int )0;
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
} else if (strcmp(contName,"HRich700Trb3Lookup")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT rich_ana2 . rich_par_query . next_vers\
ion INTO :vers FROM DUAL ; INSERT INTO rich_ana2 . rich700_trb3lookup_vers ( v\
ers_id , orig_context_id , run_id , author , description ) VALUES ( :vers , :c\
ontext , :run , :creator , :descript ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )470;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&context;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&run;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)creator;
sqlstm.sqhstl[3] = (unsigned long )0;
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)descript;
sqlstm.sqhstl[4] = (unsigned long )0;
sqlstm.sqhsts[4] = ( int )0;
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
} else if (strcmp(contName,"HRich700ThresholdPar")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT rich_ana2 . rich_par_query . next_versio\
n INTO :vers FROM DUAL ; INSERT INTO rich_ana2 . rich700_threshold_vers ( vers\
_id , orig_context_id , run_id , author , description ) VALUES ( :vers , :cont\
ext , :run , :creator , :descript ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )505;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&context;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)&run;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)creator;
sqlstm.sqhstl[3] = (unsigned long )0;
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)descript;
sqlstm.sqhstl[4] = (unsigned long )0;
sqlstm.sqhsts[4] = ( int )0;
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
}
cout<<"Oracle version for "<<pPar->GetName()<<" created: "<<vers<<endl;
return vers;
not_found:
showSqlError("createVers()");
return vers;
}
Int_t HRichParOra2Io::writePar(HRichMappingPar* pPar) {
cout<<"****************************************************************\n";
Int_t version=createVers(pPar);
if (version==-1) return -1;
int vers[RICH_MAXPADS];
int x[RICH_MAXPADS];
int y[RICH_MAXPADS];
int adc[RICH_MAXPADS];
int apv[RICH_MAXPADS];
int chan[RICH_MAXPADS];
int rows_to_insert;
Int_t nCell=0;
UInt_t a1, a2, a3;
for(Int_t r=0;r<RICH_MAX_ROWS;r++) {
for(Int_t c=0;c<RICH_MAX_COLS&&nCell<RICH_MAXPADS;c++) {
if (pPar->getHWAddress(r,c,a1,a2,a3)) {
vers[nCell]=version;
x[nCell]=c;
y[nCell]=r;
adc[nCell]=a1;
apv[nCell]=a2;
chan[nCell]=a3;
nCell++;
}
}
}
if (nCell>0) {;
rows_to_insert=nCell;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into rich_ana2.rich_mappingpar_data (vers_id,pad_p\
os_id,adc,apv,channel) values (:b1,rich_ana2.rich_par_query.get_pad_pos_id(:b2\
,:b3),:b4,:b5,:b6)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )540;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)x;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)y;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)adc;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)apv;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)chan;
sqlstm.sqhstl[5] = (unsigned long )sizeof(int);
sqlstm.sqhsts[5] = ( int )sizeof(int);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
cout<<rows_to_insert<<" rows inserted\n";
}
cout<<"****** Mapping parameters written to Oracle\n";
cout<<"****************************************************************\n";
commit();
pPar->setChanged(kFALSE);
return version;
not_found:
showSqlError("writePar(HRichMappingPar*)");
rollback();
pPar->setChanged(kFALSE);
return -1;
}
Int_t HRichParOra2Io::writePar(HRichCalPar* pPar) {
cout<<"****************************************************************\n";
Int_t version=createVers(pPar);
if (version==-1) return -1;
int vers[RICH_MAXPADS];
int sec[RICH_MAXPADS];
int x[RICH_MAXPADS];
int y[RICH_MAXPADS];
float ofs[RICH_MAXPADS];
float sig[RICH_MAXPADS];
int rows_to_insert;
HLocation loc;
loc.set(3,0,0,0);
HRichCalParCell* pCell=0;
Float_t csi=0.F;
for(Int_t s=0;s<RICH_MAX_SECTORS;s++) {
Int_t nCell=0;
loc[0]=s;
for(Int_t r=0;r<RICH_MAX_ROWS;r++) {
loc[1]=r;
for(Int_t c=0;c<RICH_MAX_COLS&&nCell<RICH_MAXPADS;c++) {
loc[2]=c;
pCell = (HRichCalParCell*)pPar->getObject(loc);
if (pCell) {
csi=pCell->getSigma();
if (csi != 0.F) {
vers[nCell]=version;
sec[nCell]=s+1;
x[nCell]=c;
y[nCell]=r;
ofs[nCell]=pCell->getOffset();
sig[nCell]=csi;
nCell++;
}
}
}
}
if (nCell==0) continue;
rows_to_insert=nCell;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into rich_ana2.rich_calpar_data (vers_id,pad_id,of\
fset,sigma) values (:b1,rich_ana2.rich_par_query.get_pad_id(:b2,:b3,:b4),:b5,:\
b6)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )579;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)sec;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)x;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)y;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)ofs;
sqlstm.sqhstl[4] = (unsigned long )sizeof(float);
sqlstm.sqhsts[4] = ( int )sizeof(float);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)sig;
sqlstm.sqhstl[5] = (unsigned long )sizeof(float);
sqlstm.sqhsts[5] = ( int )sizeof(float);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
cout<<"sector: "<<(s+1)<<" "<<rows_to_insert<<" rows inserted\n";
}
cout<<"****** Calibration parameters written to Oracle\n";
cout<<"****************************************************************\n";
commit();
pPar->setChanged(kFALSE);
return version;
not_found:
showSqlError("writePar(HRichCalPar*)");
rollback();
pPar->setChanged(kFALSE);
return -1;
}
Int_t HRichParOra2Io::createThresholdVers(HRichThresholdPar* pPar) {
cout<<"--------------- "<<pPar->GetName()<<" ---------------\n";
if (strlen(pPar->getAuthor())==0) {
Error("createVers(...)",
"author of parameters not defined");
return -1;
}
int vers=-1;
int calparvers;
char* creator;
char* descript;
short descript_Ind;
calparvers=pPar->getCalParVers();
creator=(Char_t*)pPar->getAuthor();
descript=0;
if (strlen(pPar->getDescription())>0) {
descript=(Char_t*)pPar->getDescription();
descript_Ind=0;
} else descript_Ind=-1;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT rich_ana2 . rich_par_query . next_version INTO\
:vers FROM DUAL ; INSERT INTO rich_ana2 . rich_thresholdpar_vers ( vers_id , \
calpar_vers_id , author , description ) VALUES ( :vers , :calparvers , :creato\
r , :descript:descript_Ind ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )618;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)&vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )0;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)&calparvers;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )0;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)creator;
sqlstm.sqhstl[2] = (unsigned long )0;
sqlstm.sqhsts[2] = ( int )0;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)descript;
sqlstm.sqhstl[3] = (unsigned long )0;
sqlstm.sqhsts[3] = ( int )0;
sqlstm.sqindv[3] = ( short *)&descript_Ind;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
cout<<"Oracle version for "<<pPar->GetName()<<" created: "<<vers<<endl;
return vers;
not_found:
showSqlError("createThresholdVers()");
return vers;
}
Int_t HRichParOra2Io::writePar(HRichThresholdPar* pPar) {
cout<<"****************************************************************\n";
Int_t version=createThresholdVers(pPar);
if (version==-1) return -1;
int vers[RICH_MAXSECT];
int sec[RICH_MAXSECT];
float multsigma[RICH_MAXSECT];
int rows_to_insert;
Int_t nData=0;
for(Int_t s=0;s<RICH_MAXSECT;s++) {
vers[nData]=version;
sec[nData]=s+1;
multsigma[nData]=pPar->getSigmaMultiplier(s);
nData++;
}
if (nData>0) {;
rows_to_insert=nData;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into rich_ana2.rich_thresholdpar_data (vers_id,sec\
tor_id,multiply_sigma) values (:b1,:b2,:b3)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )649;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)sec;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)multsigma;
sqlstm.sqhstl[2] = (unsigned long )sizeof(float);
sqlstm.sqhsts[2] = ( int )sizeof(float);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto not_found;
if (sqlca.sqlcode < 0) goto not_found;
}
cout<<rows_to_insert<<" rows inserted\n";
}
cout<<"****** Threshold parameters written to Oracle\n";
cout<<"****************************************************************\n";
commit();
pPar->setChanged(kFALSE);
return version;
not_found:
showSqlError("writePar(HRichThresholdPar*)");
rollback();
pPar->setChanged(kFALSE);
return -1;
}
Int_t HRichParOra2Io::writePar(HRich700Trb3Lookup* pPar) {
Int_t version=createVers(pPar);
if (version==-1) return -1;
int rows_to_insert;
int vers[RICH700_MAXPIXELS];
int address[RICH700_MAXPIXELS];
int chan[RICH700_MAXPIXELS];
int pmt[RICH700_MAXPIXELS];
int pixel[RICH700_MAXPIXELS];
Int_t nChan=0;
Int_t arrayOffset=pPar->getArrayOffset();
for(Int_t t=0;t<pPar->getSize();t++) {
HRich700Trb3LookupTdc* tdc=(*pPar)[t];
if (tdc) {
nChan=0;
for(Int_t c=0;c<tdc->getSize();c++) {
HRich700Trb3LookupChan& rChan=(*tdc)[c];
if (rChan.getPMT()!=-1 && rChan.getPixel()!=-1) {
vers[nChan]=version;
address[nChan]=arrayOffset+t;
chan[nChan]=c;
pmt[nChan]=rChan.getPMT();
pixel[nChan]=rChan.getPixel();
nChan++;
}
}
rows_to_insert=nChan;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into rich_ana2.rich700_trb3lookup_data (vers_id,\
trbnet_address,channel_id,pmt_id,pmt_pixel) values (:b1,:b2,:b3,:b4,:b5)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )676;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)address;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)chan;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)pmt;
sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
sqlstm.sqhsts[3] = ( int )sizeof(int);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)pixel;
sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
sqlstm.sqhsts[4] = ( int )sizeof(int);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto errorfound;
if (sqlca.sqlcode < 0) goto errorfound;
}
cout<<"Trbnet-address "<<"0x"<<hex<<(arrayOffset+t)<<dec<<": "<<rows_to_insert<<" rows inserted\n";
}
}
commit();
pPar->setChanged(kFALSE);
return version;
errorfound:
showSqlError("writePar(HRich700Trb3Lookup*)");
rollback();
pPar->setChanged(kFALSE);
return -1;
}
Int_t HRichParOra2Io::writePar(HRich700ThresholdPar* pPar) {
Int_t version=createVers(pPar);
if (version==-1) return -1;
int rows_to_insert;
int vers[RICH700_MAXPIXELS];
int pmt[RICH700_MAXPIXELS];
int pixel[RICH700_MAXPIXELS];
float tmin [RICH700_MAXPIXELS];
float tmax [RICH700_MAXPIXELS];
float totmin [RICH700_MAXPIXELS];
float totmax [RICH700_MAXPIXELS];
int flag[RICH700_MAXPIXELS];
HLocation loc;
loc.set(2,0,0);
HRich700PixelThreshold* pCell=0;
Int_t nCell=0;
for (Int_t p = 1; p <= RICH700_MAX_PMT; ++p) {
loc[0] = p;
for (Int_t q = 1; q <= RICH700_MAX_PMTPIXELS; ++q) {
loc[1] = q;
pCell = static_cast<HRich700PixelThreshold*>(pPar->getObject(loc));
if (NULL != pCell) {
if(pCell->getFlag() == -1) continue;
vers[nCell]=version;
pmt[nCell]=pCell->getPMT();
pixel[nCell]=pCell->getPixel();
tmin [nCell]=pCell->getT_Min();
tmax [nCell]=pCell->getT_Max();
totmin [nCell]=pCell->getTot_Min();
totmax [nCell]=pCell->getTot_Max();
flag[nCell]=pCell->getFlag();
nCell++;
}
}
}
if (nCell==0) return -1;
rows_to_insert=nCell;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into rich_ana2.rich700_threshold_data (vers_id,pmt_i\
d,pmt_pixel,par_0,par_1,par_2,par_3,status) values (:b1,:b2,:b3,:b4,:b5,:b6,:b\
7,:b8)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )711;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlstm.sqhstv[0] = (unsigned char *)vers;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqinds[0] = ( int )0;
sqlstm.sqharm[0] = (unsigned long )0;
sqlstm.sqharc[0] = (unsigned long *)0;
sqlstm.sqadto[0] = (unsigned short )0;
sqlstm.sqtdso[0] = (unsigned short )0;
sqlstm.sqhstv[1] = (unsigned char *)pmt;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqinds[1] = ( int )0;
sqlstm.sqharm[1] = (unsigned long )0;
sqlstm.sqharc[1] = (unsigned long *)0;
sqlstm.sqadto[1] = (unsigned short )0;
sqlstm.sqtdso[1] = (unsigned short )0;
sqlstm.sqhstv[2] = (unsigned char *)pixel;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqinds[2] = ( int )0;
sqlstm.sqharm[2] = (unsigned long )0;
sqlstm.sqharc[2] = (unsigned long *)0;
sqlstm.sqadto[2] = (unsigned short )0;
sqlstm.sqtdso[2] = (unsigned short )0;
sqlstm.sqhstv[3] = (unsigned char *)tmin;
sqlstm.sqhstl[3] = (unsigned long )sizeof(float);
sqlstm.sqhsts[3] = ( int )sizeof(float);
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqinds[3] = ( int )0;
sqlstm.sqharm[3] = (unsigned long )0;
sqlstm.sqharc[3] = (unsigned long *)0;
sqlstm.sqadto[3] = (unsigned short )0;
sqlstm.sqtdso[3] = (unsigned short )0;
sqlstm.sqhstv[4] = (unsigned char *)tmax;
sqlstm.sqhstl[4] = (unsigned long )sizeof(float);
sqlstm.sqhsts[4] = ( int )sizeof(float);
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqinds[4] = ( int )0;
sqlstm.sqharm[4] = (unsigned long )0;
sqlstm.sqharc[4] = (unsigned long *)0;
sqlstm.sqadto[4] = (unsigned short )0;
sqlstm.sqtdso[4] = (unsigned short )0;
sqlstm.sqhstv[5] = (unsigned char *)totmin;
sqlstm.sqhstl[5] = (unsigned long )sizeof(float);
sqlstm.sqhsts[5] = ( int )sizeof(float);
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqinds[5] = ( int )0;
sqlstm.sqharm[5] = (unsigned long )0;
sqlstm.sqharc[5] = (unsigned long *)0;
sqlstm.sqadto[5] = (unsigned short )0;
sqlstm.sqtdso[5] = (unsigned short )0;
sqlstm.sqhstv[6] = (unsigned char *)totmax;
sqlstm.sqhstl[6] = (unsigned long )sizeof(float);
sqlstm.sqhsts[6] = ( int )sizeof(float);
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqinds[6] = ( int )0;
sqlstm.sqharm[6] = (unsigned long )0;
sqlstm.sqharc[6] = (unsigned long *)0;
sqlstm.sqadto[6] = (unsigned short )0;
sqlstm.sqtdso[6] = (unsigned short )0;
sqlstm.sqhstv[7] = (unsigned char *)flag;
sqlstm.sqhstl[7] = (unsigned long )sizeof(int);
sqlstm.sqhsts[7] = ( int )sizeof(int);
sqlstm.sqindv[7] = ( short *)0;
sqlstm.sqinds[7] = ( int )0;
sqlstm.sqharm[7] = (unsigned long )0;
sqlstm.sqharc[7] = (unsigned long *)0;
sqlstm.sqadto[7] = (unsigned short )0;
sqlstm.sqtdso[7] = (unsigned short )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqphss = sqlstm.sqhsts;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqpins = sqlstm.sqinds;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlstm.sqpadto = sqlstm.sqadto;
sqlstm.sqptdso = sqlstm.sqtdso;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode == 1403) goto errorfound;
if (sqlca.sqlcode < 0) goto errorfound;
}
cout<<"HRich700ThresholdPar inserted "<<rows_to_insert<<" rows to table rich_ana2.rich700_threshold_data\n";
commit();
pPar->setChanged(kFALSE);
return version;
errorfound:
showSqlError("writePar(HRich700ThresholdPar*)");
rollback();
pPar->setChanged(kFALSE);
return -1;
}
hrichparora2io.pc.cc:1000 hrichparora2io.pc.cc:1001 hrichparora2io.pc.cc:1002 hrichparora2io.pc.cc:1003 hrichparora2io.pc.cc:1004 hrichparora2io.pc.cc:1005 hrichparora2io.pc.cc:1006 hrichparora2io.pc.cc:1007 hrichparora2io.pc.cc:1008 hrichparora2io.pc.cc:1009 hrichparora2io.pc.cc:1010 hrichparora2io.pc.cc:1011 hrichparora2io.pc.cc:1012 hrichparora2io.pc.cc:1013 hrichparora2io.pc.cc:1014 hrichparora2io.pc.cc:1015 hrichparora2io.pc.cc:1016 hrichparora2io.pc.cc:1017 hrichparora2io.pc.cc:1018 hrichparora2io.pc.cc:1019 hrichparora2io.pc.cc:1020 hrichparora2io.pc.cc:1021 hrichparora2io.pc.cc:1022 hrichparora2io.pc.cc:1023 hrichparora2io.pc.cc:1024 hrichparora2io.pc.cc:1025 hrichparora2io.pc.cc:1026 hrichparora2io.pc.cc:1027 hrichparora2io.pc.cc:1028 hrichparora2io.pc.cc:1029 hrichparora2io.pc.cc:1030 hrichparora2io.pc.cc:1031 hrichparora2io.pc.cc:1032 hrichparora2io.pc.cc:1033 hrichparora2io.pc.cc:1034 hrichparora2io.pc.cc:1035 hrichparora2io.pc.cc:1036 hrichparora2io.pc.cc:1037 hrichparora2io.pc.cc:1038 hrichparora2io.pc.cc:1039 hrichparora2io.pc.cc:1040 hrichparora2io.pc.cc:1041 hrichparora2io.pc.cc:1042 hrichparora2io.pc.cc:1043 hrichparora2io.pc.cc:1044 hrichparora2io.pc.cc:1045 hrichparora2io.pc.cc:1046 hrichparora2io.pc.cc:1047 hrichparora2io.pc.cc:1048 hrichparora2io.pc.cc:1049 hrichparora2io.pc.cc:1050 hrichparora2io.pc.cc:1051 hrichparora2io.pc.cc:1052 hrichparora2io.pc.cc:1053 hrichparora2io.pc.cc:1054 hrichparora2io.pc.cc:1055 hrichparora2io.pc.cc:1056 hrichparora2io.pc.cc:1057 hrichparora2io.pc.cc:1058 hrichparora2io.pc.cc:1059 hrichparora2io.pc.cc:1060 hrichparora2io.pc.cc:1061 hrichparora2io.pc.cc:1062 hrichparora2io.pc.cc:1063 hrichparora2io.pc.cc:1064 hrichparora2io.pc.cc:1065 hrichparora2io.pc.cc:1066 hrichparora2io.pc.cc:1067 hrichparora2io.pc.cc:1068 hrichparora2io.pc.cc:1069 hrichparora2io.pc.cc:1070 hrichparora2io.pc.cc:1071 hrichparora2io.pc.cc:1072 hrichparora2io.pc.cc:1073 hrichparora2io.pc.cc:1074 hrichparora2io.pc.cc:1075 hrichparora2io.pc.cc:1076 hrichparora2io.pc.cc:1077 hrichparora2io.pc.cc:1078 hrichparora2io.pc.cc:1079 hrichparora2io.pc.cc:1080 hrichparora2io.pc.cc:1081 hrichparora2io.pc.cc:1082 hrichparora2io.pc.cc:1083 hrichparora2io.pc.cc:1084 hrichparora2io.pc.cc:1085 hrichparora2io.pc.cc:1086 hrichparora2io.pc.cc:1087 hrichparora2io.pc.cc:1088 hrichparora2io.pc.cc:1089 hrichparora2io.pc.cc:1090 hrichparora2io.pc.cc:1091 hrichparora2io.pc.cc:1092 hrichparora2io.pc.cc:1093 hrichparora2io.pc.cc:1094 hrichparora2io.pc.cc:1095 hrichparora2io.pc.cc:1096 hrichparora2io.pc.cc:1097 hrichparora2io.pc.cc:1098 hrichparora2io.pc.cc:1099 hrichparora2io.pc.cc:1100 hrichparora2io.pc.cc:1101 hrichparora2io.pc.cc:1102 hrichparora2io.pc.cc:1103 hrichparora2io.pc.cc:1104 hrichparora2io.pc.cc:1105 hrichparora2io.pc.cc:1106 hrichparora2io.pc.cc:1107 hrichparora2io.pc.cc:1108 hrichparora2io.pc.cc:1109 hrichparora2io.pc.cc:1110 hrichparora2io.pc.cc:1111 hrichparora2io.pc.cc:1112 hrichparora2io.pc.cc:1113 hrichparora2io.pc.cc:1114 hrichparora2io.pc.cc:1115 hrichparora2io.pc.cc:1116 hrichparora2io.pc.cc:1117 hrichparora2io.pc.cc:1118 hrichparora2io.pc.cc:1119 hrichparora2io.pc.cc:1120 hrichparora2io.pc.cc:1121 hrichparora2io.pc.cc:1122 hrichparora2io.pc.cc:1123 hrichparora2io.pc.cc:1124 hrichparora2io.pc.cc:1125 hrichparora2io.pc.cc:1126 hrichparora2io.pc.cc:1127 hrichparora2io.pc.cc:1128 hrichparora2io.pc.cc:1129 hrichparora2io.pc.cc:1130 hrichparora2io.pc.cc:1131 hrichparora2io.pc.cc:1132 hrichparora2io.pc.cc:1133 hrichparora2io.pc.cc:1134 hrichparora2io.pc.cc:1135 hrichparora2io.pc.cc:1136 hrichparora2io.pc.cc:1137 hrichparora2io.pc.cc:1138 hrichparora2io.pc.cc:1139 hrichparora2io.pc.cc:1140 hrichparora2io.pc.cc:1141 hrichparora2io.pc.cc:1142 hrichparora2io.pc.cc:1143 hrichparora2io.pc.cc:1144 hrichparora2io.pc.cc:1145 hrichparora2io.pc.cc:1146 hrichparora2io.pc.cc:1147 hrichparora2io.pc.cc:1148 hrichparora2io.pc.cc:1149 hrichparora2io.pc.cc:1150 hrichparora2io.pc.cc:1151 hrichparora2io.pc.cc:1152 hrichparora2io.pc.cc:1153 hrichparora2io.pc.cc:1154 hrichparora2io.pc.cc:1155 hrichparora2io.pc.cc:1156 hrichparora2io.pc.cc:1157 hrichparora2io.pc.cc:1158 hrichparora2io.pc.cc:1159 hrichparora2io.pc.cc:1160 hrichparora2io.pc.cc:1161 hrichparora2io.pc.cc:1162 hrichparora2io.pc.cc:1163 hrichparora2io.pc.cc:1164 hrichparora2io.pc.cc:1165 hrichparora2io.pc.cc:1166 hrichparora2io.pc.cc:1167 hrichparora2io.pc.cc:1168 hrichparora2io.pc.cc:1169 hrichparora2io.pc.cc:1170 hrichparora2io.pc.cc:1171 hrichparora2io.pc.cc:1172 hrichparora2io.pc.cc:1173 hrichparora2io.pc.cc:1174 hrichparora2io.pc.cc:1175 hrichparora2io.pc.cc:1176 hrichparora2io.pc.cc:1177 hrichparora2io.pc.cc:1178 hrichparora2io.pc.cc:1179 hrichparora2io.pc.cc:1180 hrichparora2io.pc.cc:1181 hrichparora2io.pc.cc:1182 hrichparora2io.pc.cc:1183 hrichparora2io.pc.cc:1184 hrichparora2io.pc.cc:1185 hrichparora2io.pc.cc:1186 hrichparora2io.pc.cc:1187 hrichparora2io.pc.cc:1188 hrichparora2io.pc.cc:1189 hrichparora2io.pc.cc:1190 hrichparora2io.pc.cc:1191 hrichparora2io.pc.cc:1192 hrichparora2io.pc.cc:1193 hrichparora2io.pc.cc:1194 hrichparora2io.pc.cc:1195 hrichparora2io.pc.cc:1196 hrichparora2io.pc.cc:1197 hrichparora2io.pc.cc:1198 hrichparora2io.pc.cc:1199 hrichparora2io.pc.cc:1200 hrichparora2io.pc.cc:1201 hrichparora2io.pc.cc:1202 hrichparora2io.pc.cc:1203 hrichparora2io.pc.cc:1204 hrichparora2io.pc.cc:1205 hrichparora2io.pc.cc:1206 hrichparora2io.pc.cc:1207 hrichparora2io.pc.cc:1208 hrichparora2io.pc.cc:1209 hrichparora2io.pc.cc:1210 hrichparora2io.pc.cc:1211 hrichparora2io.pc.cc:1212 hrichparora2io.pc.cc:1213 hrichparora2io.pc.cc:1214 hrichparora2io.pc.cc:1215 hrichparora2io.pc.cc:1216 hrichparora2io.pc.cc:1217 hrichparora2io.pc.cc:1218 hrichparora2io.pc.cc:1219 hrichparora2io.pc.cc:1220 hrichparora2io.pc.cc:1221 hrichparora2io.pc.cc:1222 hrichparora2io.pc.cc:1223 hrichparora2io.pc.cc:1224 hrichparora2io.pc.cc:1225 hrichparora2io.pc.cc:1226 hrichparora2io.pc.cc:1227 hrichparora2io.pc.cc:1228 hrichparora2io.pc.cc:1229 hrichparora2io.pc.cc:1230 hrichparora2io.pc.cc:1231 hrichparora2io.pc.cc:1232 hrichparora2io.pc.cc:1233 hrichparora2io.pc.cc:1234 hrichparora2io.pc.cc:1235 hrichparora2io.pc.cc:1236 hrichparora2io.pc.cc:1237 hrichparora2io.pc.cc:1238 hrichparora2io.pc.cc:1239 hrichparora2io.pc.cc:1240 hrichparora2io.pc.cc:1241 hrichparora2io.pc.cc:1242 hrichparora2io.pc.cc:1243 hrichparora2io.pc.cc:1244 hrichparora2io.pc.cc:1245 hrichparora2io.pc.cc:1246 hrichparora2io.pc.cc:1247 hrichparora2io.pc.cc:1248 hrichparora2io.pc.cc:1249 hrichparora2io.pc.cc:1250 hrichparora2io.pc.cc:1251 hrichparora2io.pc.cc:1252 hrichparora2io.pc.cc:1253 hrichparora2io.pc.cc:1254 hrichparora2io.pc.cc:1255 hrichparora2io.pc.cc:1256 hrichparora2io.pc.cc:1257 hrichparora2io.pc.cc:1258 hrichparora2io.pc.cc:1259 hrichparora2io.pc.cc:1260 hrichparora2io.pc.cc:1261 hrichparora2io.pc.cc:1262 hrichparora2io.pc.cc:1263 hrichparora2io.pc.cc:1264 hrichparora2io.pc.cc:1265 hrichparora2io.pc.cc:1266 hrichparora2io.pc.cc:1267 hrichparora2io.pc.cc:1268 hrichparora2io.pc.cc:1269 hrichparora2io.pc.cc:1270 hrichparora2io.pc.cc:1271 hrichparora2io.pc.cc:1272 hrichparora2io.pc.cc:1273 hrichparora2io.pc.cc:1274 hrichparora2io.pc.cc:1275 hrichparora2io.pc.cc:1276 hrichparora2io.pc.cc:1277 hrichparora2io.pc.cc:1278 hrichparora2io.pc.cc:1279 hrichparora2io.pc.cc:1280 hrichparora2io.pc.cc:1281 hrichparora2io.pc.cc:1282 hrichparora2io.pc.cc:1283 hrichparora2io.pc.cc:1284 hrichparora2io.pc.cc:1285 hrichparora2io.pc.cc:1286 hrichparora2io.pc.cc:1287 hrichparora2io.pc.cc:1288 hrichparora2io.pc.cc:1289 hrichparora2io.pc.cc:1290 hrichparora2io.pc.cc:1291 hrichparora2io.pc.cc:1292 hrichparora2io.pc.cc:1293 hrichparora2io.pc.cc:1294 hrichparora2io.pc.cc:1295 hrichparora2io.pc.cc:1296 hrichparora2io.pc.cc:1297 hrichparora2io.pc.cc:1298 hrichparora2io.pc.cc:1299 hrichparora2io.pc.cc:1300 hrichparora2io.pc.cc:1301 hrichparora2io.pc.cc:1302 hrichparora2io.pc.cc:1303 hrichparora2io.pc.cc:1304 hrichparora2io.pc.cc:1305 hrichparora2io.pc.cc:1306 hrichparora2io.pc.cc:1307 hrichparora2io.pc.cc:1308 hrichparora2io.pc.cc:1309 hrichparora2io.pc.cc:1310 hrichparora2io.pc.cc:1311 hrichparora2io.pc.cc:1312 hrichparora2io.pc.cc:1313 hrichparora2io.pc.cc:1314 hrichparora2io.pc.cc:1315 hrichparora2io.pc.cc:1316 hrichparora2io.pc.cc:1317 hrichparora2io.pc.cc:1318 hrichparora2io.pc.cc:1319 hrichparora2io.pc.cc:1320 hrichparora2io.pc.cc:1321 hrichparora2io.pc.cc:1322 hrichparora2io.pc.cc:1323 hrichparora2io.pc.cc:1324 hrichparora2io.pc.cc:1325 hrichparora2io.pc.cc:1326 hrichparora2io.pc.cc:1327 hrichparora2io.pc.cc:1328 hrichparora2io.pc.cc:1329 hrichparora2io.pc.cc:1330 hrichparora2io.pc.cc:1331 hrichparora2io.pc.cc:1332 hrichparora2io.pc.cc:1333 hrichparora2io.pc.cc:1334 hrichparora2io.pc.cc:1335 hrichparora2io.pc.cc:1336 hrichparora2io.pc.cc:1337 hrichparora2io.pc.cc:1338 hrichparora2io.pc.cc:1339 hrichparora2io.pc.cc:1340 hrichparora2io.pc.cc:1341 hrichparora2io.pc.cc:1342 hrichparora2io.pc.cc:1343 hrichparora2io.pc.cc:1344 hrichparora2io.pc.cc:1345 hrichparora2io.pc.cc:1346 hrichparora2io.pc.cc:1347 hrichparora2io.pc.cc:1348 hrichparora2io.pc.cc:1349 hrichparora2io.pc.cc:1350 hrichparora2io.pc.cc:1351 hrichparora2io.pc.cc:1352 hrichparora2io.pc.cc:1353 hrichparora2io.pc.cc:1354 hrichparora2io.pc.cc:1355 hrichparora2io.pc.cc:1356 hrichparora2io.pc.cc:1357 hrichparora2io.pc.cc:1358 hrichparora2io.pc.cc:1359 hrichparora2io.pc.cc:1360 hrichparora2io.pc.cc:1361 hrichparora2io.pc.cc:1362 hrichparora2io.pc.cc:1363 hrichparora2io.pc.cc:1364 hrichparora2io.pc.cc:1365 hrichparora2io.pc.cc:1366 hrichparora2io.pc.cc:1367 hrichparora2io.pc.cc:1368 hrichparora2io.pc.cc:1369 hrichparora2io.pc.cc:1370 hrichparora2io.pc.cc:1371 hrichparora2io.pc.cc:1372 hrichparora2io.pc.cc:1373 hrichparora2io.pc.cc:1374 hrichparora2io.pc.cc:1375 hrichparora2io.pc.cc:1376 hrichparora2io.pc.cc:1377 hrichparora2io.pc.cc:1378 hrichparora2io.pc.cc:1379 hrichparora2io.pc.cc:1380 hrichparora2io.pc.cc:1381 hrichparora2io.pc.cc:1382 hrichparora2io.pc.cc:1383 hrichparora2io.pc.cc:1384 hrichparora2io.pc.cc:1385 hrichparora2io.pc.cc:1386 hrichparora2io.pc.cc:1387 hrichparora2io.pc.cc:1388 hrichparora2io.pc.cc:1389 hrichparora2io.pc.cc:1390 hrichparora2io.pc.cc:1391 hrichparora2io.pc.cc:1392 hrichparora2io.pc.cc:1393 hrichparora2io.pc.cc:1394 hrichparora2io.pc.cc:1395 hrichparora2io.pc.cc:1396 hrichparora2io.pc.cc:1397 hrichparora2io.pc.cc:1398 hrichparora2io.pc.cc:1399 hrichparora2io.pc.cc:1400 hrichparora2io.pc.cc:1401 hrichparora2io.pc.cc:1402 hrichparora2io.pc.cc:1403 hrichparora2io.pc.cc:1404 hrichparora2io.pc.cc:1405 hrichparora2io.pc.cc:1406 hrichparora2io.pc.cc:1407 hrichparora2io.pc.cc:1408 hrichparora2io.pc.cc:1409 hrichparora2io.pc.cc:1410 hrichparora2io.pc.cc:1411 hrichparora2io.pc.cc:1412 hrichparora2io.pc.cc:1413 hrichparora2io.pc.cc:1414 hrichparora2io.pc.cc:1415 hrichparora2io.pc.cc:1416 hrichparora2io.pc.cc:1417 hrichparora2io.pc.cc:1418 hrichparora2io.pc.cc:1419 hrichparora2io.pc.cc:1420 hrichparora2io.pc.cc:1421 hrichparora2io.pc.cc:1422 hrichparora2io.pc.cc:1423 hrichparora2io.pc.cc:1424 hrichparora2io.pc.cc:1425 hrichparora2io.pc.cc:1426 hrichparora2io.pc.cc:1427 hrichparora2io.pc.cc:1428 hrichparora2io.pc.cc:1429 hrichparora2io.pc.cc:1430 hrichparora2io.pc.cc:1431 hrichparora2io.pc.cc:1432 hrichparora2io.pc.cc:1433 hrichparora2io.pc.cc:1434 hrichparora2io.pc.cc:1435 hrichparora2io.pc.cc:1436 hrichparora2io.pc.cc:1437 hrichparora2io.pc.cc:1438 hrichparora2io.pc.cc:1439 hrichparora2io.pc.cc:1440 hrichparora2io.pc.cc:1441 hrichparora2io.pc.cc:1442 hrichparora2io.pc.cc:1443 hrichparora2io.pc.cc:1444 hrichparora2io.pc.cc:1445 hrichparora2io.pc.cc:1446 hrichparora2io.pc.cc:1447 hrichparora2io.pc.cc:1448 hrichparora2io.pc.cc:1449 hrichparora2io.pc.cc:1450 hrichparora2io.pc.cc:1451 hrichparora2io.pc.cc:1452 hrichparora2io.pc.cc:1453 hrichparora2io.pc.cc:1454 hrichparora2io.pc.cc:1455 hrichparora2io.pc.cc:1456 hrichparora2io.pc.cc:1457 hrichparora2io.pc.cc:1458 hrichparora2io.pc.cc:1459 hrichparora2io.pc.cc:1460 hrichparora2io.pc.cc:1461 hrichparora2io.pc.cc:1462 hrichparora2io.pc.cc:1463 hrichparora2io.pc.cc:1464 hrichparora2io.pc.cc:1465 hrichparora2io.pc.cc:1466 hrichparora2io.pc.cc:1467 hrichparora2io.pc.cc:1468 hrichparora2io.pc.cc:1469 hrichparora2io.pc.cc:1470 hrichparora2io.pc.cc:1471 hrichparora2io.pc.cc:1472 hrichparora2io.pc.cc:1473 hrichparora2io.pc.cc:1474 hrichparora2io.pc.cc:1475 hrichparora2io.pc.cc:1476 hrichparora2io.pc.cc:1477 hrichparora2io.pc.cc:1478 hrichparora2io.pc.cc:1479 hrichparora2io.pc.cc:1480 hrichparora2io.pc.cc:1481 hrichparora2io.pc.cc:1482 hrichparora2io.pc.cc:1483 hrichparora2io.pc.cc:1484 hrichparora2io.pc.cc:1485 hrichparora2io.pc.cc:1486 hrichparora2io.pc.cc:1487 hrichparora2io.pc.cc:1488 hrichparora2io.pc.cc:1489 hrichparora2io.pc.cc:1490 hrichparora2io.pc.cc:1491 hrichparora2io.pc.cc:1492 hrichparora2io.pc.cc:1493 hrichparora2io.pc.cc:1494 hrichparora2io.pc.cc:1495 hrichparora2io.pc.cc:1496 hrichparora2io.pc.cc:1497 hrichparora2io.pc.cc:1498 hrichparora2io.pc.cc:1499 hrichparora2io.pc.cc:1500 hrichparora2io.pc.cc:1501 hrichparora2io.pc.cc:1502 hrichparora2io.pc.cc:1503 hrichparora2io.pc.cc:1504 hrichparora2io.pc.cc:1505 hrichparora2io.pc.cc:1506 hrichparora2io.pc.cc:1507 hrichparora2io.pc.cc:1508 hrichparora2io.pc.cc:1509 hrichparora2io.pc.cc:1510 hrichparora2io.pc.cc:1511 hrichparora2io.pc.cc:1512 hrichparora2io.pc.cc:1513 hrichparora2io.pc.cc:1514 hrichparora2io.pc.cc:1515 hrichparora2io.pc.cc:1516 hrichparora2io.pc.cc:1517 hrichparora2io.pc.cc:1518 hrichparora2io.pc.cc:1519 hrichparora2io.pc.cc:1520 hrichparora2io.pc.cc:1521 hrichparora2io.pc.cc:1522 hrichparora2io.pc.cc:1523 hrichparora2io.pc.cc:1524 hrichparora2io.pc.cc:1525 hrichparora2io.pc.cc:1526 hrichparora2io.pc.cc:1527 hrichparora2io.pc.cc:1528 hrichparora2io.pc.cc:1529 hrichparora2io.pc.cc:1530 hrichparora2io.pc.cc:1531 hrichparora2io.pc.cc:1532 hrichparora2io.pc.cc:1533 hrichparora2io.pc.cc:1534 hrichparora2io.pc.cc:1535 hrichparora2io.pc.cc:1536 hrichparora2io.pc.cc:1537 hrichparora2io.pc.cc:1538 hrichparora2io.pc.cc:1539 hrichparora2io.pc.cc:1540 hrichparora2io.pc.cc:1541 hrichparora2io.pc.cc:1542 hrichparora2io.pc.cc:1543 hrichparora2io.pc.cc:1544 hrichparora2io.pc.cc:1545 hrichparora2io.pc.cc:1546 hrichparora2io.pc.cc:1547 hrichparora2io.pc.cc:1548 hrichparora2io.pc.cc:1549 hrichparora2io.pc.cc:1550 hrichparora2io.pc.cc:1551 hrichparora2io.pc.cc:1552 hrichparora2io.pc.cc:1553 hrichparora2io.pc.cc:1554 hrichparora2io.pc.cc:1555 hrichparora2io.pc.cc:1556 hrichparora2io.pc.cc:1557 hrichparora2io.pc.cc:1558 hrichparora2io.pc.cc:1559 hrichparora2io.pc.cc:1560 hrichparora2io.pc.cc:1561 hrichparora2io.pc.cc:1562 hrichparora2io.pc.cc:1563 hrichparora2io.pc.cc:1564 hrichparora2io.pc.cc:1565 hrichparora2io.pc.cc:1566 hrichparora2io.pc.cc:1567 hrichparora2io.pc.cc:1568 hrichparora2io.pc.cc:1569 hrichparora2io.pc.cc:1570 hrichparora2io.pc.cc:1571 hrichparora2io.pc.cc:1572 hrichparora2io.pc.cc:1573 hrichparora2io.pc.cc:1574 hrichparora2io.pc.cc:1575 hrichparora2io.pc.cc:1576 hrichparora2io.pc.cc:1577 hrichparora2io.pc.cc:1578 hrichparora2io.pc.cc:1579 hrichparora2io.pc.cc:1580 hrichparora2io.pc.cc:1581 hrichparora2io.pc.cc:1582 hrichparora2io.pc.cc:1583 hrichparora2io.pc.cc:1584 hrichparora2io.pc.cc:1585 hrichparora2io.pc.cc:1586 hrichparora2io.pc.cc:1587 hrichparora2io.pc.cc:1588 hrichparora2io.pc.cc:1589 hrichparora2io.pc.cc:1590 hrichparora2io.pc.cc:1591 hrichparora2io.pc.cc:1592 hrichparora2io.pc.cc:1593 hrichparora2io.pc.cc:1594 hrichparora2io.pc.cc:1595 hrichparora2io.pc.cc:1596 hrichparora2io.pc.cc:1597 hrichparora2io.pc.cc:1598 hrichparora2io.pc.cc:1599 hrichparora2io.pc.cc:1600 hrichparora2io.pc.cc:1601 hrichparora2io.pc.cc:1602 hrichparora2io.pc.cc:1603 hrichparora2io.pc.cc:1604 hrichparora2io.pc.cc:1605 hrichparora2io.pc.cc:1606 hrichparora2io.pc.cc:1607 hrichparora2io.pc.cc:1608 hrichparora2io.pc.cc:1609 hrichparora2io.pc.cc:1610 hrichparora2io.pc.cc:1611 hrichparora2io.pc.cc:1612 hrichparora2io.pc.cc:1613 hrichparora2io.pc.cc:1614 hrichparora2io.pc.cc:1615 hrichparora2io.pc.cc:1616 hrichparora2io.pc.cc:1617 hrichparora2io.pc.cc:1618 hrichparora2io.pc.cc:1619 hrichparora2io.pc.cc:1620 hrichparora2io.pc.cc:1621 hrichparora2io.pc.cc:1622 hrichparora2io.pc.cc:1623 hrichparora2io.pc.cc:1624 hrichparora2io.pc.cc:1625 hrichparora2io.pc.cc:1626 hrichparora2io.pc.cc:1627 hrichparora2io.pc.cc:1628 hrichparora2io.pc.cc:1629 hrichparora2io.pc.cc:1630 hrichparora2io.pc.cc:1631 hrichparora2io.pc.cc:1632 hrichparora2io.pc.cc:1633 hrichparora2io.pc.cc:1634 hrichparora2io.pc.cc:1635 hrichparora2io.pc.cc:1636 hrichparora2io.pc.cc:1637 hrichparora2io.pc.cc:1638 hrichparora2io.pc.cc:1639 hrichparora2io.pc.cc:1640 hrichparora2io.pc.cc:1641 hrichparora2io.pc.cc:1642 hrichparora2io.pc.cc:1643 hrichparora2io.pc.cc:1644 hrichparora2io.pc.cc:1645 hrichparora2io.pc.cc:1646 hrichparora2io.pc.cc:1647 hrichparora2io.pc.cc:1648 hrichparora2io.pc.cc:1649 hrichparora2io.pc.cc:1650 hrichparora2io.pc.cc:1651 hrichparora2io.pc.cc:1652 hrichparora2io.pc.cc:1653 hrichparora2io.pc.cc:1654 hrichparora2io.pc.cc:1655 hrichparora2io.pc.cc:1656 hrichparora2io.pc.cc:1657 hrichparora2io.pc.cc:1658 hrichparora2io.pc.cc:1659 hrichparora2io.pc.cc:1660 hrichparora2io.pc.cc:1661 hrichparora2io.pc.cc:1662 hrichparora2io.pc.cc:1663 hrichparora2io.pc.cc:1664 hrichparora2io.pc.cc:1665 hrichparora2io.pc.cc:1666 hrichparora2io.pc.cc:1667 hrichparora2io.pc.cc:1668 hrichparora2io.pc.cc:1669 hrichparora2io.pc.cc:1670 hrichparora2io.pc.cc:1671 hrichparora2io.pc.cc:1672 hrichparora2io.pc.cc:1673 hrichparora2io.pc.cc:1674 hrichparora2io.pc.cc:1675 hrichparora2io.pc.cc:1676 hrichparora2io.pc.cc:1677 hrichparora2io.pc.cc:1678 hrichparora2io.pc.cc:1679 hrichparora2io.pc.cc:1680 hrichparora2io.pc.cc:1681 hrichparora2io.pc.cc:1682 hrichparora2io.pc.cc:1683 hrichparora2io.pc.cc:1684 hrichparora2io.pc.cc:1685 hrichparora2io.pc.cc:1686 hrichparora2io.pc.cc:1687 hrichparora2io.pc.cc:1688 hrichparora2io.pc.cc:1689 hrichparora2io.pc.cc:1690 hrichparora2io.pc.cc:1691 hrichparora2io.pc.cc:1692 hrichparora2io.pc.cc:1693 hrichparora2io.pc.cc:1694 hrichparora2io.pc.cc:1695 hrichparora2io.pc.cc:1696 hrichparora2io.pc.cc:1697 hrichparora2io.pc.cc:1698 hrichparora2io.pc.cc:1699 hrichparora2io.pc.cc:1700 hrichparora2io.pc.cc:1701 hrichparora2io.pc.cc:1702 hrichparora2io.pc.cc:1703 hrichparora2io.pc.cc:1704 hrichparora2io.pc.cc:1705 hrichparora2io.pc.cc:1706 hrichparora2io.pc.cc:1707 hrichparora2io.pc.cc:1708 hrichparora2io.pc.cc:1709 hrichparora2io.pc.cc:1710 hrichparora2io.pc.cc:1711 hrichparora2io.pc.cc:1712 hrichparora2io.pc.cc:1713 hrichparora2io.pc.cc:1714 hrichparora2io.pc.cc:1715 hrichparora2io.pc.cc:1716 hrichparora2io.pc.cc:1717 hrichparora2io.pc.cc:1718 hrichparora2io.pc.cc:1719 hrichparora2io.pc.cc:1720 hrichparora2io.pc.cc:1721 hrichparora2io.pc.cc:1722 hrichparora2io.pc.cc:1723 hrichparora2io.pc.cc:1724 hrichparora2io.pc.cc:1725 hrichparora2io.pc.cc:1726 hrichparora2io.pc.cc:1727 hrichparora2io.pc.cc:1728 hrichparora2io.pc.cc:1729 hrichparora2io.pc.cc:1730 hrichparora2io.pc.cc:1731 hrichparora2io.pc.cc:1732 hrichparora2io.pc.cc:1733 hrichparora2io.pc.cc:1734 hrichparora2io.pc.cc:1735 hrichparora2io.pc.cc:1736 hrichparora2io.pc.cc:1737 hrichparora2io.pc.cc:1738 hrichparora2io.pc.cc:1739 hrichparora2io.pc.cc:1740 hrichparora2io.pc.cc:1741 hrichparora2io.pc.cc:1742 hrichparora2io.pc.cc:1743 hrichparora2io.pc.cc:1744 hrichparora2io.pc.cc:1745 hrichparora2io.pc.cc:1746 hrichparora2io.pc.cc:1747 hrichparora2io.pc.cc:1748 hrichparora2io.pc.cc:1749 hrichparora2io.pc.cc:1750 hrichparora2io.pc.cc:1751 hrichparora2io.pc.cc:1752 hrichparora2io.pc.cc:1753 hrichparora2io.pc.cc:1754 hrichparora2io.pc.cc:1755 hrichparora2io.pc.cc:1756 hrichparora2io.pc.cc:1757 hrichparora2io.pc.cc:1758 hrichparora2io.pc.cc:1759 hrichparora2io.pc.cc:1760 hrichparora2io.pc.cc:1761 hrichparora2io.pc.cc:1762 hrichparora2io.pc.cc:1763 hrichparora2io.pc.cc:1764 hrichparora2io.pc.cc:1765 hrichparora2io.pc.cc:1766 hrichparora2io.pc.cc:1767 hrichparora2io.pc.cc:1768 hrichparora2io.pc.cc:1769 hrichparora2io.pc.cc:1770 hrichparora2io.pc.cc:1771 hrichparora2io.pc.cc:1772 hrichparora2io.pc.cc:1773 hrichparora2io.pc.cc:1774 hrichparora2io.pc.cc:1775 hrichparora2io.pc.cc:1776 hrichparora2io.pc.cc:1777 hrichparora2io.pc.cc:1778 hrichparora2io.pc.cc:1779 hrichparora2io.pc.cc:1780 hrichparora2io.pc.cc:1781 hrichparora2io.pc.cc:1782 hrichparora2io.pc.cc:1783 hrichparora2io.pc.cc:1784 hrichparora2io.pc.cc:1785 hrichparora2io.pc.cc:1786 hrichparora2io.pc.cc:1787 hrichparora2io.pc.cc:1788 hrichparora2io.pc.cc:1789 hrichparora2io.pc.cc:1790 hrichparora2io.pc.cc:1791 hrichparora2io.pc.cc:1792 hrichparora2io.pc.cc:1793 hrichparora2io.pc.cc:1794 hrichparora2io.pc.cc:1795 hrichparora2io.pc.cc:1796 hrichparora2io.pc.cc:1797 hrichparora2io.pc.cc:1798 hrichparora2io.pc.cc:1799 hrichparora2io.pc.cc:1800 hrichparora2io.pc.cc:1801 hrichparora2io.pc.cc:1802 hrichparora2io.pc.cc:1803 hrichparora2io.pc.cc:1804 hrichparora2io.pc.cc:1805 hrichparora2io.pc.cc:1806 hrichparora2io.pc.cc:1807 hrichparora2io.pc.cc:1808 hrichparora2io.pc.cc:1809 hrichparora2io.pc.cc:1810 hrichparora2io.pc.cc:1811 hrichparora2io.pc.cc:1812 hrichparora2io.pc.cc:1813 hrichparora2io.pc.cc:1814 hrichparora2io.pc.cc:1815 hrichparora2io.pc.cc:1816 hrichparora2io.pc.cc:1817 hrichparora2io.pc.cc:1818 hrichparora2io.pc.cc:1819 hrichparora2io.pc.cc:1820 hrichparora2io.pc.cc:1821 hrichparora2io.pc.cc:1822 hrichparora2io.pc.cc:1823 hrichparora2io.pc.cc:1824 hrichparora2io.pc.cc:1825 hrichparora2io.pc.cc:1826 hrichparora2io.pc.cc:1827 hrichparora2io.pc.cc:1828 hrichparora2io.pc.cc:1829 hrichparora2io.pc.cc:1830 hrichparora2io.pc.cc:1831 hrichparora2io.pc.cc:1832 hrichparora2io.pc.cc:1833 hrichparora2io.pc.cc:1834 hrichparora2io.pc.cc:1835 hrichparora2io.pc.cc:1836 hrichparora2io.pc.cc:1837 hrichparora2io.pc.cc:1838 hrichparora2io.pc.cc:1839 hrichparora2io.pc.cc:1840 hrichparora2io.pc.cc:1841 hrichparora2io.pc.cc:1842 hrichparora2io.pc.cc:1843 hrichparora2io.pc.cc:1844 hrichparora2io.pc.cc:1845 hrichparora2io.pc.cc:1846 hrichparora2io.pc.cc:1847 hrichparora2io.pc.cc:1848 hrichparora2io.pc.cc:1849 hrichparora2io.pc.cc:1850 hrichparora2io.pc.cc:1851 hrichparora2io.pc.cc:1852 hrichparora2io.pc.cc:1853 hrichparora2io.pc.cc:1854 hrichparora2io.pc.cc:1855 hrichparora2io.pc.cc:1856 hrichparora2io.pc.cc:1857 hrichparora2io.pc.cc:1858 hrichparora2io.pc.cc:1859 hrichparora2io.pc.cc:1860 hrichparora2io.pc.cc:1861 hrichparora2io.pc.cc:1862 hrichparora2io.pc.cc:1863 hrichparora2io.pc.cc:1864 hrichparora2io.pc.cc:1865 hrichparora2io.pc.cc:1866 hrichparora2io.pc.cc:1867 hrichparora2io.pc.cc:1868 hrichparora2io.pc.cc:1869 hrichparora2io.pc.cc:1870 hrichparora2io.pc.cc:1871 hrichparora2io.pc.cc:1872 hrichparora2io.pc.cc:1873 hrichparora2io.pc.cc:1874 hrichparora2io.pc.cc:1875 hrichparora2io.pc.cc:1876 hrichparora2io.pc.cc:1877 hrichparora2io.pc.cc:1878 hrichparora2io.pc.cc:1879 hrichparora2io.pc.cc:1880 hrichparora2io.pc.cc:1881 hrichparora2io.pc.cc:1882 hrichparora2io.pc.cc:1883 hrichparora2io.pc.cc:1884 hrichparora2io.pc.cc:1885 hrichparora2io.pc.cc:1886 hrichparora2io.pc.cc:1887 hrichparora2io.pc.cc:1888 hrichparora2io.pc.cc:1889 hrichparora2io.pc.cc:1890 hrichparora2io.pc.cc:1891 hrichparora2io.pc.cc:1892 hrichparora2io.pc.cc:1893 hrichparora2io.pc.cc:1894 hrichparora2io.pc.cc:1895 hrichparora2io.pc.cc:1896 hrichparora2io.pc.cc:1897 hrichparora2io.pc.cc:1898 hrichparora2io.pc.cc:1899 hrichparora2io.pc.cc:1900 hrichparora2io.pc.cc:1901 hrichparora2io.pc.cc:1902 hrichparora2io.pc.cc:1903 hrichparora2io.pc.cc:1904 hrichparora2io.pc.cc:1905 hrichparora2io.pc.cc:1906 hrichparora2io.pc.cc:1907 hrichparora2io.pc.cc:1908 hrichparora2io.pc.cc:1909 hrichparora2io.pc.cc:1910 hrichparora2io.pc.cc:1911 hrichparora2io.pc.cc:1912 hrichparora2io.pc.cc:1913 hrichparora2io.pc.cc:1914 hrichparora2io.pc.cc:1915 hrichparora2io.pc.cc:1916 hrichparora2io.pc.cc:1917 hrichparora2io.pc.cc:1918 hrichparora2io.pc.cc:1919 hrichparora2io.pc.cc:1920 hrichparora2io.pc.cc:1921 hrichparora2io.pc.cc:1922 hrichparora2io.pc.cc:1923 hrichparora2io.pc.cc:1924 hrichparora2io.pc.cc:1925 hrichparora2io.pc.cc:1926 hrichparora2io.pc.cc:1927 hrichparora2io.pc.cc:1928 hrichparora2io.pc.cc:1929 hrichparora2io.pc.cc:1930 hrichparora2io.pc.cc:1931 hrichparora2io.pc.cc:1932 hrichparora2io.pc.cc:1933 hrichparora2io.pc.cc:1934 hrichparora2io.pc.cc:1935 hrichparora2io.pc.cc:1936 hrichparora2io.pc.cc:1937 hrichparora2io.pc.cc:1938 hrichparora2io.pc.cc:1939 hrichparora2io.pc.cc:1940 hrichparora2io.pc.cc:1941 hrichparora2io.pc.cc:1942 hrichparora2io.pc.cc:1943 hrichparora2io.pc.cc:1944 hrichparora2io.pc.cc:1945 hrichparora2io.pc.cc:1946 hrichparora2io.pc.cc:1947 hrichparora2io.pc.cc:1948 hrichparora2io.pc.cc:1949 hrichparora2io.pc.cc:1950 hrichparora2io.pc.cc:1951 hrichparora2io.pc.cc:1952 hrichparora2io.pc.cc:1953 hrichparora2io.pc.cc:1954 hrichparora2io.pc.cc:1955 hrichparora2io.pc.cc:1956 hrichparora2io.pc.cc:1957 hrichparora2io.pc.cc:1958 hrichparora2io.pc.cc:1959 hrichparora2io.pc.cc:1960 hrichparora2io.pc.cc:1961 hrichparora2io.pc.cc:1962 hrichparora2io.pc.cc:1963 hrichparora2io.pc.cc:1964 hrichparora2io.pc.cc:1965 hrichparora2io.pc.cc:1966 hrichparora2io.pc.cc:1967 hrichparora2io.pc.cc:1968 hrichparora2io.pc.cc:1969 hrichparora2io.pc.cc:1970 hrichparora2io.pc.cc:1971 hrichparora2io.pc.cc:1972 hrichparora2io.pc.cc:1973 hrichparora2io.pc.cc:1974 hrichparora2io.pc.cc:1975 hrichparora2io.pc.cc:1976 hrichparora2io.pc.cc:1977 hrichparora2io.pc.cc:1978 hrichparora2io.pc.cc:1979 hrichparora2io.pc.cc:1980 hrichparora2io.pc.cc:1981 hrichparora2io.pc.cc:1982 hrichparora2io.pc.cc:1983 hrichparora2io.pc.cc:1984 hrichparora2io.pc.cc:1985 hrichparora2io.pc.cc:1986 hrichparora2io.pc.cc:1987 hrichparora2io.pc.cc:1988 hrichparora2io.pc.cc:1989 hrichparora2io.pc.cc:1990 hrichparora2io.pc.cc:1991 hrichparora2io.pc.cc:1992 hrichparora2io.pc.cc:1993 hrichparora2io.pc.cc:1994 hrichparora2io.pc.cc:1995 hrichparora2io.pc.cc:1996 hrichparora2io.pc.cc:1997 hrichparora2io.pc.cc:1998 hrichparora2io.pc.cc:1999 hrichparora2io.pc.cc:2000 hrichparora2io.pc.cc:2001 hrichparora2io.pc.cc:2002 hrichparora2io.pc.cc:2003 hrichparora2io.pc.cc:2004 hrichparora2io.pc.cc:2005 hrichparora2io.pc.cc:2006 hrichparora2io.pc.cc:2007 hrichparora2io.pc.cc:2008 hrichparora2io.pc.cc:2009 hrichparora2io.pc.cc:2010 hrichparora2io.pc.cc:2011 hrichparora2io.pc.cc:2012 hrichparora2io.pc.cc:2013 hrichparora2io.pc.cc:2014 hrichparora2io.pc.cc:2015 hrichparora2io.pc.cc:2016 hrichparora2io.pc.cc:2017 hrichparora2io.pc.cc:2018 hrichparora2io.pc.cc:2019 hrichparora2io.pc.cc:2020 hrichparora2io.pc.cc:2021 hrichparora2io.pc.cc:2022 hrichparora2io.pc.cc:2023 hrichparora2io.pc.cc:2024 hrichparora2io.pc.cc:2025 hrichparora2io.pc.cc:2026 hrichparora2io.pc.cc:2027 hrichparora2io.pc.cc:2028 hrichparora2io.pc.cc:2029 hrichparora2io.pc.cc:2030 hrichparora2io.pc.cc:2031 hrichparora2io.pc.cc:2032 hrichparora2io.pc.cc:2033 hrichparora2io.pc.cc:2034 hrichparora2io.pc.cc:2035 hrichparora2io.pc.cc:2036 hrichparora2io.pc.cc:2037 hrichparora2io.pc.cc:2038 hrichparora2io.pc.cc:2039 hrichparora2io.pc.cc:2040 hrichparora2io.pc.cc:2041 hrichparora2io.pc.cc:2042 hrichparora2io.pc.cc:2043 hrichparora2io.pc.cc:2044 hrichparora2io.pc.cc:2045 hrichparora2io.pc.cc:2046 hrichparora2io.pc.cc:2047 hrichparora2io.pc.cc:2048 hrichparora2io.pc.cc:2049 hrichparora2io.pc.cc:2050 hrichparora2io.pc.cc:2051 hrichparora2io.pc.cc:2052 hrichparora2io.pc.cc:2053 hrichparora2io.pc.cc:2054 hrichparora2io.pc.cc:2055 hrichparora2io.pc.cc:2056 hrichparora2io.pc.cc:2057 hrichparora2io.pc.cc:2058 hrichparora2io.pc.cc:2059 hrichparora2io.pc.cc:2060 hrichparora2io.pc.cc:2061 hrichparora2io.pc.cc:2062 hrichparora2io.pc.cc:2063 hrichparora2io.pc.cc:2064 hrichparora2io.pc.cc:2065 hrichparora2io.pc.cc:2066 hrichparora2io.pc.cc:2067 hrichparora2io.pc.cc:2068 hrichparora2io.pc.cc:2069 hrichparora2io.pc.cc:2070 hrichparora2io.pc.cc:2071 hrichparora2io.pc.cc:2072 hrichparora2io.pc.cc:2073 hrichparora2io.pc.cc:2074 hrichparora2io.pc.cc:2075 hrichparora2io.pc.cc:2076 hrichparora2io.pc.cc:2077 hrichparora2io.pc.cc:2078 hrichparora2io.pc.cc:2079 hrichparora2io.pc.cc:2080 hrichparora2io.pc.cc:2081 hrichparora2io.pc.cc:2082 hrichparora2io.pc.cc:2083 hrichparora2io.pc.cc:2084 hrichparora2io.pc.cc:2085 hrichparora2io.pc.cc:2086 hrichparora2io.pc.cc:2087 hrichparora2io.pc.cc:2088 hrichparora2io.pc.cc:2089 hrichparora2io.pc.cc:2090 hrichparora2io.pc.cc:2091 hrichparora2io.pc.cc:2092 hrichparora2io.pc.cc:2093 hrichparora2io.pc.cc:2094 hrichparora2io.pc.cc:2095 hrichparora2io.pc.cc:2096 hrichparora2io.pc.cc:2097 hrichparora2io.pc.cc:2098 hrichparora2io.pc.cc:2099 hrichparora2io.pc.cc:2100 hrichparora2io.pc.cc:2101 hrichparora2io.pc.cc:2102 hrichparora2io.pc.cc:2103 hrichparora2io.pc.cc:2104 hrichparora2io.pc.cc:2105 hrichparora2io.pc.cc:2106 hrichparora2io.pc.cc:2107 hrichparora2io.pc.cc:2108 hrichparora2io.pc.cc:2109 hrichparora2io.pc.cc:2110 hrichparora2io.pc.cc:2111 hrichparora2io.pc.cc:2112 hrichparora2io.pc.cc:2113 hrichparora2io.pc.cc:2114 hrichparora2io.pc.cc:2115 hrichparora2io.pc.cc:2116 hrichparora2io.pc.cc:2117 hrichparora2io.pc.cc:2118 hrichparora2io.pc.cc:2119 hrichparora2io.pc.cc:2120 hrichparora2io.pc.cc:2121 hrichparora2io.pc.cc:2122 hrichparora2io.pc.cc:2123 hrichparora2io.pc.cc:2124 hrichparora2io.pc.cc:2125 hrichparora2io.pc.cc:2126 hrichparora2io.pc.cc:2127 hrichparora2io.pc.cc:2128 hrichparora2io.pc.cc:2129 hrichparora2io.pc.cc:2130 hrichparora2io.pc.cc:2131 hrichparora2io.pc.cc:2132 hrichparora2io.pc.cc:2133 hrichparora2io.pc.cc:2134 hrichparora2io.pc.cc:2135 hrichparora2io.pc.cc:2136 hrichparora2io.pc.cc:2137 hrichparora2io.pc.cc:2138 hrichparora2io.pc.cc:2139 hrichparora2io.pc.cc:2140 hrichparora2io.pc.cc:2141 hrichparora2io.pc.cc:2142 hrichparora2io.pc.cc:2143 hrichparora2io.pc.cc:2144 hrichparora2io.pc.cc:2145 hrichparora2io.pc.cc:2146 hrichparora2io.pc.cc:2147 hrichparora2io.pc.cc:2148 hrichparora2io.pc.cc:2149 hrichparora2io.pc.cc:2150 hrichparora2io.pc.cc:2151 hrichparora2io.pc.cc:2152 hrichparora2io.pc.cc:2153 hrichparora2io.pc.cc:2154 hrichparora2io.pc.cc:2155 hrichparora2io.pc.cc:2156 hrichparora2io.pc.cc:2157 hrichparora2io.pc.cc:2158 hrichparora2io.pc.cc:2159 hrichparora2io.pc.cc:2160 hrichparora2io.pc.cc:2161 hrichparora2io.pc.cc:2162 hrichparora2io.pc.cc:2163 hrichparora2io.pc.cc:2164 hrichparora2io.pc.cc:2165 hrichparora2io.pc.cc:2166 hrichparora2io.pc.cc:2167 hrichparora2io.pc.cc:2168 hrichparora2io.pc.cc:2169 hrichparora2io.pc.cc:2170 hrichparora2io.pc.cc:2171 hrichparora2io.pc.cc:2172 hrichparora2io.pc.cc:2173 hrichparora2io.pc.cc:2174 hrichparora2io.pc.cc:2175 hrichparora2io.pc.cc:2176 hrichparora2io.pc.cc:2177 hrichparora2io.pc.cc:2178 hrichparora2io.pc.cc:2179 hrichparora2io.pc.cc:2180 hrichparora2io.pc.cc:2181 hrichparora2io.pc.cc:2182 hrichparora2io.pc.cc:2183 hrichparora2io.pc.cc:2184 hrichparora2io.pc.cc:2185 hrichparora2io.pc.cc:2186 hrichparora2io.pc.cc:2187 hrichparora2io.pc.cc:2188 hrichparora2io.pc.cc:2189 hrichparora2io.pc.cc:2190 hrichparora2io.pc.cc:2191 hrichparora2io.pc.cc:2192 hrichparora2io.pc.cc:2193 hrichparora2io.pc.cc:2194 hrichparora2io.pc.cc:2195 hrichparora2io.pc.cc:2196 hrichparora2io.pc.cc:2197 hrichparora2io.pc.cc:2198 hrichparora2io.pc.cc:2199 hrichparora2io.pc.cc:2200 hrichparora2io.pc.cc:2201 hrichparora2io.pc.cc:2202 hrichparora2io.pc.cc:2203 hrichparora2io.pc.cc:2204 hrichparora2io.pc.cc:2205 hrichparora2io.pc.cc:2206 hrichparora2io.pc.cc:2207 hrichparora2io.pc.cc:2208 hrichparora2io.pc.cc:2209 hrichparora2io.pc.cc:2210 hrichparora2io.pc.cc:2211 hrichparora2io.pc.cc:2212 hrichparora2io.pc.cc:2213 hrichparora2io.pc.cc:2214 hrichparora2io.pc.cc:2215 hrichparora2io.pc.cc:2216 hrichparora2io.pc.cc:2217 hrichparora2io.pc.cc:2218 hrichparora2io.pc.cc:2219 hrichparora2io.pc.cc:2220 hrichparora2io.pc.cc:2221 hrichparora2io.pc.cc:2222 hrichparora2io.pc.cc:2223 hrichparora2io.pc.cc:2224 hrichparora2io.pc.cc:2225 hrichparora2io.pc.cc:2226 hrichparora2io.pc.cc:2227 hrichparora2io.pc.cc:2228 hrichparora2io.pc.cc:2229 hrichparora2io.pc.cc:2230 hrichparora2io.pc.cc:2231 hrichparora2io.pc.cc:2232 hrichparora2io.pc.cc:2233 hrichparora2io.pc.cc:2234 hrichparora2io.pc.cc:2235 hrichparora2io.pc.cc:2236 hrichparora2io.pc.cc:2237 hrichparora2io.pc.cc:2238 hrichparora2io.pc.cc:2239 hrichparora2io.pc.cc:2240 hrichparora2io.pc.cc:2241 hrichparora2io.pc.cc:2242 hrichparora2io.pc.cc:2243 hrichparora2io.pc.cc:2244 hrichparora2io.pc.cc:2245 hrichparora2io.pc.cc:2246 hrichparora2io.pc.cc:2247 hrichparora2io.pc.cc:2248 hrichparora2io.pc.cc:2249 hrichparora2io.pc.cc:2250 hrichparora2io.pc.cc:2251 hrichparora2io.pc.cc:2252 hrichparora2io.pc.cc:2253 hrichparora2io.pc.cc:2254 hrichparora2io.pc.cc:2255 hrichparora2io.pc.cc:2256 hrichparora2io.pc.cc:2257 hrichparora2io.pc.cc:2258 hrichparora2io.pc.cc:2259 hrichparora2io.pc.cc:2260 hrichparora2io.pc.cc:2261 hrichparora2io.pc.cc:2262 hrichparora2io.pc.cc:2263 hrichparora2io.pc.cc:2264 hrichparora2io.pc.cc:2265 hrichparora2io.pc.cc:2266 hrichparora2io.pc.cc:2267 hrichparora2io.pc.cc:2268 hrichparora2io.pc.cc:2269 hrichparora2io.pc.cc:2270 hrichparora2io.pc.cc:2271 hrichparora2io.pc.cc:2272 hrichparora2io.pc.cc:2273 hrichparora2io.pc.cc:2274 hrichparora2io.pc.cc:2275 hrichparora2io.pc.cc:2276 hrichparora2io.pc.cc:2277 hrichparora2io.pc.cc:2278 hrichparora2io.pc.cc:2279 hrichparora2io.pc.cc:2280 hrichparora2io.pc.cc:2281 hrichparora2io.pc.cc:2282 hrichparora2io.pc.cc:2283 hrichparora2io.pc.cc:2284 hrichparora2io.pc.cc:2285 hrichparora2io.pc.cc:2286 hrichparora2io.pc.cc:2287 hrichparora2io.pc.cc:2288 hrichparora2io.pc.cc:2289 hrichparora2io.pc.cc:2290 hrichparora2io.pc.cc:2291 hrichparora2io.pc.cc:2292 hrichparora2io.pc.cc:2293 hrichparora2io.pc.cc:2294 hrichparora2io.pc.cc:2295 hrichparora2io.pc.cc:2296 hrichparora2io.pc.cc:2297 hrichparora2io.pc.cc:2298 hrichparora2io.pc.cc:2299 hrichparora2io.pc.cc:2300 hrichparora2io.pc.cc:2301 hrichparora2io.pc.cc:2302 hrichparora2io.pc.cc:2303 hrichparora2io.pc.cc:2304 hrichparora2io.pc.cc:2305 hrichparora2io.pc.cc:2306 hrichparora2io.pc.cc:2307 hrichparora2io.pc.cc:2308 hrichparora2io.pc.cc:2309 hrichparora2io.pc.cc:2310 hrichparora2io.pc.cc:2311 hrichparora2io.pc.cc:2312 hrichparora2io.pc.cc:2313 hrichparora2io.pc.cc:2314 hrichparora2io.pc.cc:2315 hrichparora2io.pc.cc:2316 hrichparora2io.pc.cc:2317 hrichparora2io.pc.cc:2318 hrichparora2io.pc.cc:2319 hrichparora2io.pc.cc:2320 hrichparora2io.pc.cc:2321 hrichparora2io.pc.cc:2322 hrichparora2io.pc.cc:2323 hrichparora2io.pc.cc:2324 hrichparora2io.pc.cc:2325 hrichparora2io.pc.cc:2326 hrichparora2io.pc.cc:2327 hrichparora2io.pc.cc:2328 hrichparora2io.pc.cc:2329 hrichparora2io.pc.cc:2330 hrichparora2io.pc.cc:2331 hrichparora2io.pc.cc:2332 hrichparora2io.pc.cc:2333 hrichparora2io.pc.cc:2334 hrichparora2io.pc.cc:2335 hrichparora2io.pc.cc:2336 hrichparora2io.pc.cc:2337 hrichparora2io.pc.cc:2338 hrichparora2io.pc.cc:2339 hrichparora2io.pc.cc:2340 hrichparora2io.pc.cc:2341 hrichparora2io.pc.cc:2342 hrichparora2io.pc.cc:2343 hrichparora2io.pc.cc:2344 hrichparora2io.pc.cc:2345 hrichparora2io.pc.cc:2346 hrichparora2io.pc.cc:2347 hrichparora2io.pc.cc:2348 hrichparora2io.pc.cc:2349 hrichparora2io.pc.cc:2350 hrichparora2io.pc.cc:2351 hrichparora2io.pc.cc:2352 hrichparora2io.pc.cc:2353 hrichparora2io.pc.cc:2354 hrichparora2io.pc.cc:2355 hrichparora2io.pc.cc:2356 hrichparora2io.pc.cc:2357 hrichparora2io.pc.cc:2358 hrichparora2io.pc.cc:2359 hrichparora2io.pc.cc:2360 hrichparora2io.pc.cc:2361 hrichparora2io.pc.cc:2362 hrichparora2io.pc.cc:2363 hrichparora2io.pc.cc:2364 hrichparora2io.pc.cc:2365 hrichparora2io.pc.cc:2366 hrichparora2io.pc.cc:2367 hrichparora2io.pc.cc:2368 hrichparora2io.pc.cc:2369 hrichparora2io.pc.cc:2370 hrichparora2io.pc.cc:2371 hrichparora2io.pc.cc:2372 hrichparora2io.pc.cc:2373 hrichparora2io.pc.cc:2374 hrichparora2io.pc.cc:2375 hrichparora2io.pc.cc:2376 hrichparora2io.pc.cc:2377 hrichparora2io.pc.cc:2378 hrichparora2io.pc.cc:2379 hrichparora2io.pc.cc:2380 hrichparora2io.pc.cc:2381 hrichparora2io.pc.cc:2382 hrichparora2io.pc.cc:2383 hrichparora2io.pc.cc:2384 hrichparora2io.pc.cc:2385 hrichparora2io.pc.cc:2386 hrichparora2io.pc.cc:2387 hrichparora2io.pc.cc:2388 hrichparora2io.pc.cc:2389 hrichparora2io.pc.cc:2390 hrichparora2io.pc.cc:2391 hrichparora2io.pc.cc:2392 hrichparora2io.pc.cc:2393 hrichparora2io.pc.cc:2394 hrichparora2io.pc.cc:2395 hrichparora2io.pc.cc:2396 hrichparora2io.pc.cc:2397 hrichparora2io.pc.cc:2398 hrichparora2io.pc.cc:2399 hrichparora2io.pc.cc:2400 hrichparora2io.pc.cc:2401 hrichparora2io.pc.cc:2402 hrichparora2io.pc.cc:2403 hrichparora2io.pc.cc:2404 hrichparora2io.pc.cc:2405 hrichparora2io.pc.cc:2406 hrichparora2io.pc.cc:2407 hrichparora2io.pc.cc:2408 hrichparora2io.pc.cc:2409 hrichparora2io.pc.cc:2410 hrichparora2io.pc.cc:2411 hrichparora2io.pc.cc:2412 hrichparora2io.pc.cc:2413 hrichparora2io.pc.cc:2414 hrichparora2io.pc.cc:2415 hrichparora2io.pc.cc:2416 hrichparora2io.pc.cc:2417 hrichparora2io.pc.cc:2418 hrichparora2io.pc.cc:2419 hrichparora2io.pc.cc:2420 hrichparora2io.pc.cc:2421 hrichparora2io.pc.cc:2422 hrichparora2io.pc.cc:2423 hrichparora2io.pc.cc:2424 hrichparora2io.pc.cc:2425 hrichparora2io.pc.cc:2426 hrichparora2io.pc.cc:2427 hrichparora2io.pc.cc:2428 hrichparora2io.pc.cc:2429 hrichparora2io.pc.cc:2430 hrichparora2io.pc.cc:2431 hrichparora2io.pc.cc:2432 hrichparora2io.pc.cc:2433 hrichparora2io.pc.cc:2434 hrichparora2io.pc.cc:2435 hrichparora2io.pc.cc:2436 hrichparora2io.pc.cc:2437 hrichparora2io.pc.cc:2438 hrichparora2io.pc.cc:2439 hrichparora2io.pc.cc:2440 hrichparora2io.pc.cc:2441 hrichparora2io.pc.cc:2442 hrichparora2io.pc.cc:2443 hrichparora2io.pc.cc:2444 hrichparora2io.pc.cc:2445 hrichparora2io.pc.cc:2446 hrichparora2io.pc.cc:2447 hrichparora2io.pc.cc:2448 hrichparora2io.pc.cc:2449 hrichparora2io.pc.cc:2450 hrichparora2io.pc.cc:2451 hrichparora2io.pc.cc:2452 hrichparora2io.pc.cc:2453 hrichparora2io.pc.cc:2454 hrichparora2io.pc.cc:2455 hrichparora2io.pc.cc:2456 hrichparora2io.pc.cc:2457 hrichparora2io.pc.cc:2458 hrichparora2io.pc.cc:2459 hrichparora2io.pc.cc:2460 hrichparora2io.pc.cc:2461 hrichparora2io.pc.cc:2462 hrichparora2io.pc.cc:2463 hrichparora2io.pc.cc:2464 hrichparora2io.pc.cc:2465 hrichparora2io.pc.cc:2466 hrichparora2io.pc.cc:2467 hrichparora2io.pc.cc:2468 hrichparora2io.pc.cc:2469 hrichparora2io.pc.cc:2470 hrichparora2io.pc.cc:2471 hrichparora2io.pc.cc:2472 hrichparora2io.pc.cc:2473 hrichparora2io.pc.cc:2474 hrichparora2io.pc.cc:2475 hrichparora2io.pc.cc:2476 hrichparora2io.pc.cc:2477 hrichparora2io.pc.cc:2478 hrichparora2io.pc.cc:2479 hrichparora2io.pc.cc:2480 hrichparora2io.pc.cc:2481 hrichparora2io.pc.cc:2482 hrichparora2io.pc.cc:2483 hrichparora2io.pc.cc:2484 hrichparora2io.pc.cc:2485 hrichparora2io.pc.cc:2486 hrichparora2io.pc.cc:2487 hrichparora2io.pc.cc:2488 hrichparora2io.pc.cc:2489 hrichparora2io.pc.cc:2490 hrichparora2io.pc.cc:2491 hrichparora2io.pc.cc:2492 hrichparora2io.pc.cc:2493 hrichparora2io.pc.cc:2494 hrichparora2io.pc.cc:2495 hrichparora2io.pc.cc:2496 hrichparora2io.pc.cc:2497 hrichparora2io.pc.cc:2498 hrichparora2io.pc.cc:2499 hrichparora2io.pc.cc:2500 hrichparora2io.pc.cc:2501 hrichparora2io.pc.cc:2502 hrichparora2io.pc.cc:2503 hrichparora2io.pc.cc:2504 hrichparora2io.pc.cc:2505 hrichparora2io.pc.cc:2506 hrichparora2io.pc.cc:2507 hrichparora2io.pc.cc:2508 hrichparora2io.pc.cc:2509 hrichparora2io.pc.cc:2510 hrichparora2io.pc.cc:2511 hrichparora2io.pc.cc:2512 hrichparora2io.pc.cc:2513 hrichparora2io.pc.cc:2514 hrichparora2io.pc.cc:2515 hrichparora2io.pc.cc:2516 hrichparora2io.pc.cc:2517 hrichparora2io.pc.cc:2518 hrichparora2io.pc.cc:2519 hrichparora2io.pc.cc:2520 hrichparora2io.pc.cc:2521 hrichparora2io.pc.cc:2522 hrichparora2io.pc.cc:2523 hrichparora2io.pc.cc:2524 hrichparora2io.pc.cc:2525 hrichparora2io.pc.cc:2526 hrichparora2io.pc.cc:2527 hrichparora2io.pc.cc:2528 hrichparora2io.pc.cc:2529 hrichparora2io.pc.cc:2530 hrichparora2io.pc.cc:2531 hrichparora2io.pc.cc:2532 hrichparora2io.pc.cc:2533 hrichparora2io.pc.cc:2534 hrichparora2io.pc.cc:2535 hrichparora2io.pc.cc:2536 hrichparora2io.pc.cc:2537 hrichparora2io.pc.cc:2538 hrichparora2io.pc.cc:2539 hrichparora2io.pc.cc:2540 hrichparora2io.pc.cc:2541 hrichparora2io.pc.cc:2542 hrichparora2io.pc.cc:2543 hrichparora2io.pc.cc:2544 hrichparora2io.pc.cc:2545 hrichparora2io.pc.cc:2546 hrichparora2io.pc.cc:2547 hrichparora2io.pc.cc:2548 hrichparora2io.pc.cc:2549 hrichparora2io.pc.cc:2550 hrichparora2io.pc.cc:2551 hrichparora2io.pc.cc:2552 hrichparora2io.pc.cc:2553 hrichparora2io.pc.cc:2554 hrichparora2io.pc.cc:2555 hrichparora2io.pc.cc:2556 hrichparora2io.pc.cc:2557 hrichparora2io.pc.cc:2558 hrichparora2io.pc.cc:2559 hrichparora2io.pc.cc:2560 hrichparora2io.pc.cc:2561 hrichparora2io.pc.cc:2562 hrichparora2io.pc.cc:2563 hrichparora2io.pc.cc:2564 hrichparora2io.pc.cc:2565 hrichparora2io.pc.cc:2566 hrichparora2io.pc.cc:2567 hrichparora2io.pc.cc:2568 hrichparora2io.pc.cc:2569 hrichparora2io.pc.cc:2570 hrichparora2io.pc.cc:2571 hrichparora2io.pc.cc:2572 hrichparora2io.pc.cc:2573 hrichparora2io.pc.cc:2574 hrichparora2io.pc.cc:2575 hrichparora2io.pc.cc:2576 hrichparora2io.pc.cc:2577 hrichparora2io.pc.cc:2578 hrichparora2io.pc.cc:2579 hrichparora2io.pc.cc:2580 hrichparora2io.pc.cc:2581 hrichparora2io.pc.cc:2582 hrichparora2io.pc.cc:2583 hrichparora2io.pc.cc:2584 hrichparora2io.pc.cc:2585 hrichparora2io.pc.cc:2586 hrichparora2io.pc.cc:2587 hrichparora2io.pc.cc:2588 hrichparora2io.pc.cc:2589 hrichparora2io.pc.cc:2590 hrichparora2io.pc.cc:2591 hrichparora2io.pc.cc:2592 hrichparora2io.pc.cc:2593 hrichparora2io.pc.cc:2594 hrichparora2io.pc.cc:2595 hrichparora2io.pc.cc:2596 hrichparora2io.pc.cc:2597 hrichparora2io.pc.cc:2598 hrichparora2io.pc.cc:2599 hrichparora2io.pc.cc:2600 hrichparora2io.pc.cc:2601 hrichparora2io.pc.cc:2602 hrichparora2io.pc.cc:2603 hrichparora2io.pc.cc:2604 hrichparora2io.pc.cc:2605 hrichparora2io.pc.cc:2606 hrichparora2io.pc.cc:2607 hrichparora2io.pc.cc:2608 hrichparora2io.pc.cc:2609 hrichparora2io.pc.cc:2610 hrichparora2io.pc.cc:2611 hrichparora2io.pc.cc:2612 hrichparora2io.pc.cc:2613 hrichparora2io.pc.cc:2614 hrichparora2io.pc.cc:2615 hrichparora2io.pc.cc:2616 hrichparora2io.pc.cc:2617 hrichparora2io.pc.cc:2618 hrichparora2io.pc.cc:2619 hrichparora2io.pc.cc:2620 hrichparora2io.pc.cc:2621 hrichparora2io.pc.cc:2622 hrichparora2io.pc.cc:2623 hrichparora2io.pc.cc:2624 hrichparora2io.pc.cc:2625 hrichparora2io.pc.cc:2626 hrichparora2io.pc.cc:2627 hrichparora2io.pc.cc:2628 hrichparora2io.pc.cc:2629 hrichparora2io.pc.cc:2630 hrichparora2io.pc.cc:2631 hrichparora2io.pc.cc:2632 hrichparora2io.pc.cc:2633 hrichparora2io.pc.cc:2634 hrichparora2io.pc.cc:2635 hrichparora2io.pc.cc:2636 hrichparora2io.pc.cc:2637 hrichparora2io.pc.cc:2638 hrichparora2io.pc.cc:2639 hrichparora2io.pc.cc:2640 hrichparora2io.pc.cc:2641 hrichparora2io.pc.cc:2642 hrichparora2io.pc.cc:2643 hrichparora2io.pc.cc:2644 hrichparora2io.pc.cc:2645 hrichparora2io.pc.cc:2646 hrichparora2io.pc.cc:2647 hrichparora2io.pc.cc:2648 hrichparora2io.pc.cc:2649 hrichparora2io.pc.cc:2650 hrichparora2io.pc.cc:2651 hrichparora2io.pc.cc:2652 hrichparora2io.pc.cc:2653 hrichparora2io.pc.cc:2654 hrichparora2io.pc.cc:2655 hrichparora2io.pc.cc:2656 hrichparora2io.pc.cc:2657 hrichparora2io.pc.cc:2658 hrichparora2io.pc.cc:2659 hrichparora2io.pc.cc:2660 hrichparora2io.pc.cc:2661 hrichparora2io.pc.cc:2662 hrichparora2io.pc.cc:2663 hrichparora2io.pc.cc:2664 hrichparora2io.pc.cc:2665 hrichparora2io.pc.cc:2666 hrichparora2io.pc.cc:2667 hrichparora2io.pc.cc:2668 hrichparora2io.pc.cc:2669 hrichparora2io.pc.cc:2670 hrichparora2io.pc.cc:2671 hrichparora2io.pc.cc:2672 hrichparora2io.pc.cc:2673 hrichparora2io.pc.cc:2674 hrichparora2io.pc.cc:2675 hrichparora2io.pc.cc:2676 hrichparora2io.pc.cc:2677 hrichparora2io.pc.cc:2678 hrichparora2io.pc.cc:2679 hrichparora2io.pc.cc:2680 hrichparora2io.pc.cc:2681 hrichparora2io.pc.cc:2682 hrichparora2io.pc.cc:2683 hrichparora2io.pc.cc:2684 hrichparora2io.pc.cc:2685 hrichparora2io.pc.cc:2686 hrichparora2io.pc.cc:2687 hrichparora2io.pc.cc:2688 hrichparora2io.pc.cc:2689 hrichparora2io.pc.cc:2690 hrichparora2io.pc.cc:2691 hrichparora2io.pc.cc:2692 hrichparora2io.pc.cc:2693 hrichparora2io.pc.cc:2694 hrichparora2io.pc.cc:2695 hrichparora2io.pc.cc:2696 hrichparora2io.pc.cc:2697 hrichparora2io.pc.cc:2698 hrichparora2io.pc.cc:2699 hrichparora2io.pc.cc:2700 hrichparora2io.pc.cc:2701 hrichparora2io.pc.cc:2702 hrichparora2io.pc.cc:2703 hrichparora2io.pc.cc:2704 hrichparora2io.pc.cc:2705 hrichparora2io.pc.cc:2706 hrichparora2io.pc.cc:2707 hrichparora2io.pc.cc:2708 hrichparora2io.pc.cc:2709 hrichparora2io.pc.cc:2710 hrichparora2io.pc.cc:2711 hrichparora2io.pc.cc:2712 hrichparora2io.pc.cc:2713 hrichparora2io.pc.cc:2714 hrichparora2io.pc.cc:2715 hrichparora2io.pc.cc:2716 hrichparora2io.pc.cc:2717 hrichparora2io.pc.cc:2718 hrichparora2io.pc.cc:2719 hrichparora2io.pc.cc:2720 hrichparora2io.pc.cc:2721 hrichparora2io.pc.cc:2722 hrichparora2io.pc.cc:2723 hrichparora2io.pc.cc:2724 hrichparora2io.pc.cc:2725 hrichparora2io.pc.cc:2726 hrichparora2io.pc.cc:2727 hrichparora2io.pc.cc:2728 hrichparora2io.pc.cc:2729 hrichparora2io.pc.cc:2730 hrichparora2io.pc.cc:2731 hrichparora2io.pc.cc:2732 hrichparora2io.pc.cc:2733 hrichparora2io.pc.cc:2734 hrichparora2io.pc.cc:2735 hrichparora2io.pc.cc:2736 hrichparora2io.pc.cc:2737 hrichparora2io.pc.cc:2738 hrichparora2io.pc.cc:2739 hrichparora2io.pc.cc:2740 hrichparora2io.pc.cc:2741 hrichparora2io.pc.cc:2742 hrichparora2io.pc.cc:2743 hrichparora2io.pc.cc:2744 hrichparora2io.pc.cc:2745 hrichparora2io.pc.cc:2746 hrichparora2io.pc.cc:2747 hrichparora2io.pc.cc:2748 hrichparora2io.pc.cc:2749 hrichparora2io.pc.cc:2750 hrichparora2io.pc.cc:2751 hrichparora2io.pc.cc:2752 hrichparora2io.pc.cc:2753 hrichparora2io.pc.cc:2754 hrichparora2io.pc.cc:2755 hrichparora2io.pc.cc:2756 hrichparora2io.pc.cc:2757 hrichparora2io.pc.cc:2758 hrichparora2io.pc.cc:2759 hrichparora2io.pc.cc:2760 hrichparora2io.pc.cc:2761 hrichparora2io.pc.cc:2762 hrichparora2io.pc.cc:2763 hrichparora2io.pc.cc:2764 hrichparora2io.pc.cc:2765 hrichparora2io.pc.cc:2766 hrichparora2io.pc.cc:2767 hrichparora2io.pc.cc:2768 hrichparora2io.pc.cc:2769 hrichparora2io.pc.cc:2770 hrichparora2io.pc.cc:2771 hrichparora2io.pc.cc:2772 hrichparora2io.pc.cc:2773 hrichparora2io.pc.cc:2774 hrichparora2io.pc.cc:2775 hrichparora2io.pc.cc:2776 hrichparora2io.pc.cc:2777 hrichparora2io.pc.cc:2778 hrichparora2io.pc.cc:2779 hrichparora2io.pc.cc:2780 hrichparora2io.pc.cc:2781 hrichparora2io.pc.cc:2782 hrichparora2io.pc.cc:2783 hrichparora2io.pc.cc:2784 hrichparora2io.pc.cc:2785 hrichparora2io.pc.cc:2786 hrichparora2io.pc.cc:2787 hrichparora2io.pc.cc:2788 hrichparora2io.pc.cc:2789 hrichparora2io.pc.cc:2790 hrichparora2io.pc.cc:2791 hrichparora2io.pc.cc:2792 hrichparora2io.pc.cc:2793 hrichparora2io.pc.cc:2794 hrichparora2io.pc.cc:2795 hrichparora2io.pc.cc:2796 hrichparora2io.pc.cc:2797 hrichparora2io.pc.cc:2798 hrichparora2io.pc.cc:2799 hrichparora2io.pc.cc:2800 hrichparora2io.pc.cc:2801 hrichparora2io.pc.cc:2802 hrichparora2io.pc.cc:2803 hrichparora2io.pc.cc:2804 hrichparora2io.pc.cc:2805 hrichparora2io.pc.cc:2806 hrichparora2io.pc.cc:2807 hrichparora2io.pc.cc:2808 hrichparora2io.pc.cc:2809 hrichparora2io.pc.cc:2810 hrichparora2io.pc.cc:2811 hrichparora2io.pc.cc:2812 hrichparora2io.pc.cc:2813 hrichparora2io.pc.cc:2814 hrichparora2io.pc.cc:2815 hrichparora2io.pc.cc:2816 hrichparora2io.pc.cc:2817 hrichparora2io.pc.cc:2818 hrichparora2io.pc.cc:2819 hrichparora2io.pc.cc:2820 hrichparora2io.pc.cc:2821 hrichparora2io.pc.cc:2822 hrichparora2io.pc.cc:2823 hrichparora2io.pc.cc:2824 hrichparora2io.pc.cc:2825 hrichparora2io.pc.cc:2826 hrichparora2io.pc.cc:2827 hrichparora2io.pc.cc:2828 hrichparora2io.pc.cc:2829 hrichparora2io.pc.cc:2830 hrichparora2io.pc.cc:2831 hrichparora2io.pc.cc:2832