#line 16189 "qb64pe.bas"
qbs* FUNC_UDTROOTDATAGUARD(qbs*_FUNC_UDTROOTDATAGUARD_STRING_DESC_EXPR,int32*_FUNC_UDTROOTDATAGUARD_LONG_UDT_INDEX,int32*_FUNC_UDTROOTDATAGUARD_LONG_LAYOUT_MODE){
#line 16189 "qb64pe.bas"
qbs *tqbs;
#line 16189 "qb64pe.bas"
ptrszint tmp_long;
#line 16189 "qb64pe.bas"
int32 tmp_fileno;
#line 16189 "qb64pe.bas"
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
#line 16189 "qb64pe.bas"
uint8 *tmp_mem_static_pointer=mem_static_pointer;
#line 16189 "qb64pe.bas"
uint32 tmp_cmem_sp=cmem_sp;
#line 16189 "qb64pe.bas"
#include "data30.txt"
#line 16189 "qb64pe.bas"
mem_lock *sf_mem_lock;
#line 16189 "qb64pe.bas"
new_mem_lock();
#line 16189 "qb64pe.bas"
sf_mem_lock=mem_lock_tmp;
#line 16189 "qb64pe.bas"
sf_mem_lock->type=3;
#line 16189 "qb64pe.bas"
libqb_check_stack();
#line 16189 "qb64pe.bas"
if (is_error_pending()) goto exit_subfunc;
#line 16195 "qb64pe.bas"
do{
#line 16195 "qb64pe.bas"
if(!qbevent)break;evnt(16195);}while(r);
#line 16196 "qb64pe.bas"
do{
#line 16196 "qb64pe.bas"
if(!qbevent)break;evnt(16196);}while(r);
#line 16197 "qb64pe.bas"
do{
#line 16197 "qb64pe.bas"
if(!qbevent)break;evnt(16197);}while(r);
#line 16198 "qb64pe.bas"
do{
#line 16198 "qb64pe.bas"
if(!qbevent)break;evnt(16198);}while(r);
#line 16200 "qb64pe.bas"
S_18673:;
#line 16200 "qb64pe.bas"
if ((-(*_FUNC_UDTROOTDATAGUARD_LONG_UDT_INDEX<= 0 ))||is_error_pending()){
#line 16200 "qb64pe.bas"
if(qbevent){evnt(16200);if(r)goto S_18673;}
#line 16200 "qb64pe.bas"
do{
#line 16200 "qb64pe.bas"
SUB_GIVE_ERROR(qbs_new_txt_len("Invalid user defined type",25));
#line 16200 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16200 "qb64pe.bas"
if(!qbevent)break;evnt(16200);}while(r);
#line 16200 "qb64pe.bas"
do{
#line 16200 "qb64pe.bas"
goto exit_subfunc;
#line 16200 "qb64pe.bas"
if(!qbevent)break;evnt(16200);}while(r);
#line 16200 "qb64pe.bas"
}
#line 16202 "qb64pe.bas"
S_18677:;
#line 16202 "qb64pe.bas"
if ((-(*_FUNC_UDTROOTDATAGUARD_LONG_LAYOUT_MODE!= 0 ))||is_error_pending()){
#line 16202 "qb64pe.bas"
if(qbevent){evnt(16202);if(r)goto S_18677;}
#line 16203 "qb64pe.bas"
do{
#line 16203 "qb64pe.bas"
*_FUNC_UDTROOTDATAGUARD_LONG_BYTE_COUNT=qb_safe_idiv(FUNC_UDTDYNLAYOUTSIZE(_FUNC_UDTROOTDATAGUARD_LONG_UDT_INDEX), 8 );
#line 16203 "qb64pe.bas"
if(!qbevent)break;evnt(16203);}while(r);
#line 16204 "qb64pe.bas"
}else{
#line 16205 "qb64pe.bas"
do{
#line 16205 "qb64pe.bas"
*_FUNC_UDTROOTDATAGUARD_LONG_BYTE_COUNT=qb_safe_idiv(((int32*)(__ARRAY_LONG_UDTXSIZE[0]))[array_check((*_FUNC_UDTROOTDATAGUARD_LONG_UDT_INDEX)-__ARRAY_LONG_UDTXSIZE[4],__ARRAY_LONG_UDTXSIZE[5])], 8 );
#line 16205 "qb64pe.bas"
if(!qbevent)break;evnt(16205);}while(r);
#line 16206 "qb64pe.bas"
}
#line 16207 "qb64pe.bas"
S_18682:;
#line 16207 "qb64pe.bas"
if ((-(*_FUNC_UDTROOTDATAGUARD_LONG_BYTE_COUNT<= 0 ))||is_error_pending()){
#line 16207 "qb64pe.bas"
if(qbevent){evnt(16207);if(r)goto S_18682;}
#line 16207 "qb64pe.bas"
do{
#line 16207 "qb64pe.bas"
*_FUNC_UDTROOTDATAGUARD_LONG_BYTE_COUNT= 1 ;
#line 16207 "qb64pe.bas"
if(!qbevent)break;evnt(16207);}while(r);
#line 16207 "qb64pe.bas"
}
#line 16209 "qb64pe.bas"
do{
#line 16209 "qb64pe.bas"
qbs_set(_FUNC_UDTROOTDATAGUARD_STRING_HELPER_NAME,qbs_add(qbs_new_txt_len("udt_root_data_guard_",20),qbs__tostr((int32)(FUNC_UNIQUENUMBER()),NULL,0)));
#line 16209 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16209 "qb64pe.bas"
if(!qbevent)break;evnt(16209);}while(r);
#line 16210 "qb64pe.bas"
do{
#line 16210 "qb64pe.bas"
qbs_set(_FUNC_UDTROOTDATAGUARD_STRING_BYTE_COUNT_TEXT,qbs_ltrim(qbs_str((int32)(*_FUNC_UDTROOTDATAGUARD_LONG_BYTE_COUNT))));
#line 16210 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16210 "qb64pe.bas"
if(!qbevent)break;evnt(16210);}while(r);
#line 16211 "qb64pe.bas"
do{
#line 16211 "qb64pe.bas"
qbs_set(_FUNC_UDTROOTDATAGUARD_STRING_DUMMY_EXPR,qbs_new_txt_len("(void*)qb_dummy",15));
#line 16211 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16211 "qb64pe.bas"
if(!qbevent)break;evnt(16211);}while(r);
#line 16213 "qb64pe.bas"
do{
#line 16213 "qb64pe.bas"
SUB_WRITEBUFLINE(&(pass2168=*__LONG_GLOBTXTBUF),qbs_add(qbs_add(qbs_new_txt_len("static ptrszint ",16),_FUNC_UDTROOTDATAGUARD_STRING_HELPER_NAME),qbs_new_txt_len("(ptrszint *qb_arr){",19)));
#line 16213 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16213 "qb64pe.bas"
if(!qbevent)break;evnt(16213);}while(r);
#line 16214 "qb64pe.bas"
do{
#line 16214 "qb64pe.bas"
SUB_WRITEBUFLINE(&(pass2169=*__LONG_GLOBTXTBUF),qbs_add(qbs_add(qbs_new_txt_len("static uint8 qb_dummy[",22),_FUNC_UDTROOTDATAGUARD_STRING_BYTE_COUNT_TEXT),qbs_new_txt_len("];",2)));
#line 16214 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16214 "qb64pe.bas"
if(!qbevent)break;evnt(16214);}while(r);
#line 16215 "qb64pe.bas"
do{
#line 16215 "qb64pe.bas"
SUB_WRITEBUFLINE(&(pass2170=*__LONG_GLOBTXTBUF),qbs_new_txt_len("static int qb_ready=0;",22));
#line 16215 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16215 "qb64pe.bas"
if(!qbevent)break;evnt(16215);}while(r);
#line 16216 "qb64pe.bas"
do{
#line 16216 "qb64pe.bas"
SUB_WRITEBUFLINE(&(pass2171=*__LONG_GLOBTXTBUF),qbs_new_txt_len("if (!qb_ready){",15));
#line 16216 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16216 "qb64pe.bas"
if(!qbevent)break;evnt(16216);}while(r);
#line 16217 "qb64pe.bas"
do{
#line 16217 "qb64pe.bas"
SUB_WRITEBUFLINE(&(pass2172=*__LONG_GLOBTXTBUF),qbs_add(qbs_add(qbs_new_txt_len("memset(qb_dummy,0,",18),_FUNC_UDTROOTDATAGUARD_STRING_BYTE_COUNT_TEXT),qbs_new_txt_len(");",2)));
#line 16217 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16217 "qb64pe.bas"
if(!qbevent)break;evnt(16217);}while(r);
#line 16218 "qb64pe.bas"
S_18693:;
#line 16218 "qb64pe.bas"
if ((-(*_FUNC_UDTROOTDATAGUARD_LONG_LAYOUT_MODE== 0 ))||is_error_pending()){
#line 16218 "qb64pe.bas"
if(qbevent){evnt(16218);if(r)goto S_18693;}
#line 16219 "qb64pe.bas"
do{
#line 16219 "qb64pe.bas"
SUB_INITIALISE_UDT_VARSTRINGS(_FUNC_UDTROOTDATAGUARD_STRING_DUMMY_EXPR,_FUNC_UDTROOTDATAGUARD_LONG_UDT_INDEX,__LONG_GLOBTXTBUF,&(pass2173= 0 ));
#line 16219 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16219 "qb64pe.bas"
if(!qbevent)break;evnt(16219);}while(r);
#line 16220 "qb64pe.bas"
}
#line 16221 "qb64pe.bas"
do{
#line 16221 "qb64pe.bas"
SUB_WRITEBUFLINE(&(pass2174=*__LONG_GLOBTXTBUF),qbs_new_txt_len("qb_ready=1;",11));
#line 16221 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16221 "qb64pe.bas"
if(!qbevent)break;evnt(16221);}while(r);
#line 16222 "qb64pe.bas"
do{
#line 16222 "qb64pe.bas"
SUB_WRITEBUFLINE(&(pass2175=*__LONG_GLOBTXTBUF),qbs_new_txt_len("}",1));
#line 16222 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16222 "qb64pe.bas"
if(!qbevent)break;evnt(16222);}while(r);
#line 16223 "qb64pe.bas"
do{
#line 16223 "qb64pe.bas"
SUB_WRITEBUFLINE(&(pass2176=*__LONG_GLOBTXTBUF),qbs_new_txt_len("if ((!qb_arr)||(!(qb_arr[2]&1))||(!qb_arr[0])||(qb_arr[0]==(ptrszint)nothingvalue)){error(9); return (ptrszint)qb_dummy;}",121));
#line 16223 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16223 "qb64pe.bas"
if(!qbevent)break;evnt(16223);}while(r);
#line 16224 "qb64pe.bas"
do{
#line 16224 "qb64pe.bas"
SUB_WRITEBUFLINE(&(pass2177=*__LONG_GLOBTXTBUF),qbs_new_txt_len("return qb_arr[0];",17));
#line 16224 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16224 "qb64pe.bas"
if(!qbevent)break;evnt(16224);}while(r);
#line 16225 "qb64pe.bas"
do{
#line 16225 "qb64pe.bas"
SUB_WRITEBUFLINE(&(pass2178=*__LONG_GLOBTXTBUF),qbs_new_txt_len("}",1));
#line 16225 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16225 "qb64pe.bas"
if(!qbevent)break;evnt(16225);}while(r);
#line 16227 "qb64pe.bas"
do{
#line 16227 "qb64pe.bas"
qbs_set(_FUNC_UDTROOTDATAGUARD_STRING_UDTROOTDATAGUARD,qbs_add(qbs_add(qbs_add(_FUNC_UDTROOTDATAGUARD_STRING_HELPER_NAME,qbs_new_txt_len("(",1)),_FUNC_UDTROOTDATAGUARD_STRING_DESC_EXPR),qbs_new_txt_len(")",1)));
#line 16227 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16227 "qb64pe.bas"
if(!qbevent)break;evnt(16227);}while(r);
#line 16228 "qb64pe.bas"
exit_subfunc:;
#line 16228 "qb64pe.bas"
free_mem_lock(sf_mem_lock);
#line 16228 "qb64pe.bas"
#include "free30.txt"
#line 16228 "qb64pe.bas"
if ((tmp_mem_static_pointer>=mem_static)&&(tmp_mem_static_pointer<=mem_static_limit)) mem_static_pointer=tmp_mem_static_pointer; else mem_static_pointer=mem_static;
#line 16228 "qb64pe.bas"
cmem_sp=tmp_cmem_sp;
#line 16228 "qb64pe.bas"
qbs_maketmp(_FUNC_UDTROOTDATAGUARD_STRING_UDTROOTDATAGUARD);return _FUNC_UDTROOTDATAGUARD_STRING_UDTROOTDATAGUARD;
#line 16228 "qb64pe.bas"
}
