[preset00]
fRating=2.000000
fGammaAdj=1.000000
fDecay=1.000000
fVideoEchoZoom=1.998789
fVideoEchoAlpha=0.500000
nVideoEchoOrientation=1
nWaveMode=1
bAdditiveWaves=0
bWaveDots=1
bWaveThick=0
bModWaveAlphaByVolume=0
bMaximizeWaveColor=1
bTexWrap=1
bDarkenCenter=0
bRedBlueStereo=0
bBrighten=0
bDarken=0
bSolarize=0
bInvert=0
fWaveAlpha=11.200613
fWaveScale=1.285751
fWaveSmoothing=0.630000
fWaveParam=0.000000
fModWaveAlphaStart=0.540000
fModWaveAlphaEnd=0.000000
fWarpAnimSpeed=0.010000
fWarpScale=1.331000
fZoomExponent=2.216699
fShader=0.000000
zoom=0.999922
rot=0.000000
cx=0.500000
cy=0.500000
dx=0.000000
dy=0.000000
warp=0.010000
sx=1.000000
sy=1.000000
wave_r=1.000000
wave_g=1.000000
wave_b=0.000000
wave_x=0.500000
wave_y=0.500000
ob_size=0.500000
ob_r=0.000000
ob_g=0.000000
ob_b=0.000000
ob_a=0.020000
ib_size=0.500000
ib_r=0.000000
ib_g=0.000000
ib_b=0.000000
ib_a=0.020000
nMotionVectorsX=12.000000
nMotionVectorsY=9.000000
mv_dx=0.000000
mv_dy=0.000000
mv_l=0.000000
mv_r=1.000000
mv_g=1.000000
mv_b=1.000000
mv_a=0.000000
wavecode_0_enabled=1
wavecode_0_samples=512
wavecode_0_sep=0
wavecode_0_bSpectrum=0
wavecode_0_bUseDots=0
wavecode_0_bDrawThick=1
wavecode_0_bAdditive=0
wavecode_0_scaling=0.891519
wavecode_0_smoothing=0.820000
wavecode_0_r=1.000000
wavecode_0_g=1.000000
wavecode_0_b=1.000000
wavecode_0_a=0.100000
wave_0_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_0_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_0_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_0_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_0_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_0_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_0_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_0_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_0_init9=
wave_0_per_frame1=tm = time*.1;
wave_0_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7);
wave_0_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8);
wave_0_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1);
wave_0_per_frame5=
wave_0_per_frame6=tic = min(time - tin,1);
wave_0_per_frame7=tin = time;
wave_0_per_frame8=
wave_0_per_frame9=tva = (tic*q1*.5);
wave_0_per_frame10=tvb = (tic*q2*.5);
wave_0_per_frame11=tvc = (tic*q3*.5);
wave_0_per_frame12=
wave_0_per_frame13=q1 = tva;
wave_0_per_frame14=q2 = tvb;
wave_0_per_frame15=q3 = tvc;
wave_0_per_frame16=
wave_0_per_frame17=sz = .2;
wave_0_per_frame18=ra = .1;
wave_0_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len)));
wave_0_per_frame20=t4 = len;
wave_0_per_point1=ang = 0;
wave_0_per_point2=len = t4;
wave_0_per_point3=mad = .6;
wave_0_per_point4=
wave_0_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1);
wave_0_per_point6=ita = (ita + 1)*above(sample,0);
wave_0_per_point7=
wave_0_per_point8=mod = if(equal(it%2,0),1,  if(equal((it+1)%4,0),2,  if(equal((it+3)%8,0),3,  if(equal((it+7)%16,0),4,  if(equal((it+15)%32,0),5,  if(equal((it+31)%64,0),6,  if(equal((it+63)%128,0),7,7)  ))))));
wave_0_per_point9=
wave_0_per_point10=sw = sw - 1;
wave_0_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0);
wave_0_per_point12=
wave_0_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0);
wave_0_per_point14=a = lev*.1*1.46;
wave_0_per_point15=a = equal(lev,8);
wave_0_per_point16=
wave_0_per_point17=ar = if(above(sample,0),ar,1);
wave_0_per_point18=ar = if(equal(lev,0),ar*-1,ar);
wave_0_per_point19=br = if(above(sample,0),br,1);
wave_0_per_point20=br = if(equal(lev,1),br*-1,br);
wave_0_per_point21=cr = if(above(sample,0),cr,1);
wave_0_per_point22=cr = if(equal(lev,2),cr*-1,cr);
wave_0_per_point23=dr = if(above(sample,0),dr,1);
wave_0_per_point24=dr = if(equal(lev,3),dr*-1,dr);
wave_0_per_point25=er = if(above(sample,0),er,1);
wave_0_per_point26=er = if(equal(lev,4),er*-1,er);
wave_0_per_point27=fr = if(above(sample,0),fr,1);
wave_0_per_point28=fr = if(equal(lev,5),fr*-1,fr);
wave_0_per_point29=gr = if(above(sample,0),gr,1);
wave_0_per_point30=gr = if(equal(lev,6),gr*-1,gr);
wave_0_per_point31=hr = if(above(sample,0),hr,1);
wave_0_per_point32=hr = if(equal(lev,7),hr*-1,hr);
wave_0_per_point33=
wave_0_per_point34=mlev = lev*above(sample,0);
wave_0_per_point35=
wave_0_per_point36=swi = equal(q4,0)*equal(sample,0);
wave_0_per_point37=
wave_0_per_point38=ha = if(swi,1-2*rand(2),ha);
wave_0_per_point39=hb = if(swi,1-2*rand(2),hb);
wave_0_per_point40=hc = if(swi,1-2*rand(2),hc);
wave_0_per_point41=hd = if(swi,1-2*rand(2),hd);
wave_0_per_point42=he = if(swi,1-2*rand(2),he);
wave_0_per_point43=hf = if(swi,1-2*rand(2),hf);
wave_0_per_point44=hg = if(swi,1-2*rand(2),hg);
wave_0_per_point45=hh = if(swi,1-2*rand(2),hh);
wave_0_per_point46=
wave_0_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1);
wave_0_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33);
wave_0_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67);
wave_0_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2);
wave_0_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33);
wave_0_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67);
wave_0_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3);
wave_0_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3);
wave_0_per_point55=
wave_0_per_point56=len = len*mad;
wave_0_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar;
wave_0_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len;
wave_0_per_point59=
wave_0_per_point60=an = bang*(ar + br)*br;
wave_0_per_point61=len = len*mad;
wave_0_per_point62=x = x + above(lev,1)*sin(an)*len*br;
wave_0_per_point63=y = y + above(lev,1)*cos(an)*len;
wave_0_per_point64=
wave_0_per_point65=an = cang*(ar + br + cr)*cr;
wave_0_per_point66=len = len*mad;
wave_0_per_point67=x = x + above(lev,2)*sin(an)*len*cr;
wave_0_per_point68=y = y + above(lev,2)*cos(an)*len;
wave_0_per_point69=
wave_0_per_point70=an = dang*(ar + br + cr + dr)*dr;
wave_0_per_point71=len = len*mad;
wave_0_per_point72=x = x + above(lev,3)*sin(an)*len*dr;
wave_0_per_point73=y = y + above(lev,3)*cos(an)*len;
wave_0_per_point74=
wave_0_per_point75=an = eang*(ar + br + cr + dr + er)*er;
wave_0_per_point76=len = len*mad;
wave_0_per_point77=x = x + above(lev,4)*sin(an)*len*er;
wave_0_per_point78=y = y + above(lev,4)*cos(an)*len;
wave_0_per_point79=
wave_0_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr;
wave_0_per_point81=len = len*mad;
wave_0_per_point82=x = x + above(lev,5)*sin(an)*len*fr;
wave_0_per_point83=y = y + above(lev,5)*cos(an)*len;
wave_0_per_point84=
wave_0_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr;
wave_0_per_point86=len = len*mad;
wave_0_per_point87=x = x + above(lev,6)*sin(an)*len*gr;
wave_0_per_point88=y = y + above(lev,6)*cos(an)*len;
wave_0_per_point89=
wave_0_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr;
wave_0_per_point91=len = len*mad;
wave_0_per_point92=x = x + above(lev,7)*sin(an)*len*hr;
wave_0_per_point93=y = y + above(lev,7)*cos(an)*len;
wave_0_per_point94=
wave_0_per_point95=x = (x-.5)*.75 + .5;
wave_0_per_point96=
wave_0_per_point97=x = int(x*200)*.005;
wave_0_per_point98=y = int(y*200)*.005;
wavecode_1_enabled=1
wavecode_1_samples=512
wavecode_1_sep=0
wavecode_1_bSpectrum=0
wavecode_1_bUseDots=0
wavecode_1_bDrawThick=1
wavecode_1_bAdditive=0
wavecode_1_scaling=0.891519
wavecode_1_smoothing=0.820000
wavecode_1_r=1.000000
wavecode_1_g=1.000000
wavecode_1_b=1.000000
wavecode_1_a=0.100000
wave_1_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_1_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_1_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_1_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_1_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_1_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_1_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_1_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_1_init9=
wave_1_per_frame1=tm = time*.1;
wave_1_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7);
wave_1_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8);
wave_1_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1);
wave_1_per_frame5=
wave_1_per_frame6=tic = min(time - tin,1);
wave_1_per_frame7=tin = time;
wave_1_per_frame8=
wave_1_per_frame9=tva = (tic*q1*.5);
wave_1_per_frame10=tvb = (tic*q2*.5);
wave_1_per_frame11=tvc = (tic*q3*.5);
wave_1_per_frame12=
wave_1_per_frame13=q1 = tva;
wave_1_per_frame14=q2 = tvb;
wave_1_per_frame15=q3 = tvc;
wave_1_per_frame16=
wave_1_per_frame17=sz = .3;
wave_1_per_frame18=ra = .1;
wave_1_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len)));
wave_1_per_frame20=t4 = len;
wave_1_per_point1=ang = 0;
wave_1_per_point2=len = t4;
wave_1_per_point3=mad = .6;
wave_1_per_point4=
wave_1_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1);
wave_1_per_point6=ita = (ita + 1)*above(sample,0);
wave_1_per_point7=
wave_1_per_point8=mod = if(equal(it%2,0),1,  if(equal((it+1)%4,0),2,  if(equal((it+3)%8,0),3,  if(equal((it+7)%16,0),4,  if(equal((it+15)%32,0),5,  if(equal((it+31)%64,0),6,  if(equal((it+63)%128,0),7,7)  ))))));
wave_1_per_point9=
wave_1_per_point10=sw = sw - 1;
wave_1_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0);
wave_1_per_point12=
wave_1_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0);
wave_1_per_point14=a = lev*.1*1.46;
wave_1_per_point15=a = equal(lev,8);
wave_1_per_point16=
wave_1_per_point17=ar = if(above(sample,0),ar,1);
wave_1_per_point18=ar = if(equal(lev,0),ar*-1,ar);
wave_1_per_point19=br = if(above(sample,0),br,1);
wave_1_per_point20=br = if(equal(lev,1),br*-1,br);
wave_1_per_point21=cr = if(above(sample,0),cr,1);
wave_1_per_point22=cr = if(equal(lev,2),cr*-1,cr);
wave_1_per_point23=dr = if(above(sample,0),dr,1);
wave_1_per_point24=dr = if(equal(lev,3),dr*-1,dr);
wave_1_per_point25=er = if(above(sample,0),er,1);
wave_1_per_point26=er = if(equal(lev,4),er*-1,er);
wave_1_per_point27=fr = if(above(sample,0),fr,1);
wave_1_per_point28=fr = if(equal(lev,5),fr*-1,fr);
wave_1_per_point29=gr = if(above(sample,0),gr,1);
wave_1_per_point30=gr = if(equal(lev,6),gr*-1,gr);
wave_1_per_point31=hr = if(above(sample,0),hr,1);
wave_1_per_point32=hr = if(equal(lev,7),hr*-1,hr);
wave_1_per_point33=
wave_1_per_point34=mlev = lev*above(sample,0);
wave_1_per_point35=
wave_1_per_point36=swi = equal(q4,0)*equal(sample,0);
wave_1_per_point37=
wave_1_per_point38=ha = if(swi,1-2*rand(2),ha);
wave_1_per_point39=hb = if(swi,1-2*rand(2),hb);
wave_1_per_point40=hc = if(swi,1-2*rand(2),hc);
wave_1_per_point41=hd = if(swi,1-2*rand(2),hd);
wave_1_per_point42=he = if(swi,1-2*rand(2),he);
wave_1_per_point43=hf = if(swi,1-2*rand(2),hf);
wave_1_per_point44=hg = if(swi,1-2*rand(2),hg);
wave_1_per_point45=hh = if(swi,1-2*rand(2),hh);
wave_1_per_point46=
wave_1_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1);
wave_1_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33);
wave_1_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67);
wave_1_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2);
wave_1_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33);
wave_1_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67);
wave_1_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3);
wave_1_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3);
wave_1_per_point55=
wave_1_per_point56=len = len*mad;
wave_1_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar;
wave_1_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len;
wave_1_per_point59=
wave_1_per_point60=an = bang*(ar + br)*br;
wave_1_per_point61=len = len*mad;
wave_1_per_point62=x = x + above(lev,1)*sin(an)*len*br;
wave_1_per_point63=y = y + above(lev,1)*cos(an)*len;
wave_1_per_point64=
wave_1_per_point65=an = cang*(ar + br + cr)*cr;
wave_1_per_point66=len = len*mad;
wave_1_per_point67=x = x + above(lev,2)*sin(an)*len*cr;
wave_1_per_point68=y = y + above(lev,2)*cos(an)*len;
wave_1_per_point69=
wave_1_per_point70=an = dang*(ar + br + cr + dr)*dr;
wave_1_per_point71=len = len*mad;
wave_1_per_point72=x = x + above(lev,3)*sin(an)*len*dr;
wave_1_per_point73=y = y + above(lev,3)*cos(an)*len;
wave_1_per_point74=
wave_1_per_point75=an = eang*(ar + br + cr + dr + er)*er;
wave_1_per_point76=len = len*mad;
wave_1_per_point77=x = x + above(lev,4)*sin(an)*len*er;
wave_1_per_point78=y = y + above(lev,4)*cos(an)*len;
wave_1_per_point79=
wave_1_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr;
wave_1_per_point81=len = len*mad;
wave_1_per_point82=x = x + above(lev,5)*sin(an)*len*fr;
wave_1_per_point83=y = y + above(lev,5)*cos(an)*len;
wave_1_per_point84=
wave_1_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr;
wave_1_per_point86=len = len*mad;
wave_1_per_point87=x = x + above(lev,6)*sin(an)*len*gr;
wave_1_per_point88=y = y + above(lev,6)*cos(an)*len;
wave_1_per_point89=
wave_1_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr;
wave_1_per_point91=len = len*mad;
wave_1_per_point92=x = x + above(lev,7)*sin(an)*len*hr;
wave_1_per_point93=y = y + above(lev,7)*cos(an)*len;
wave_1_per_point94=
wave_1_per_point95=x = (x-.5)*.75 + .5;
wave_1_per_point96=
wave_1_per_point97=x = int(x*200)*.005;
wave_1_per_point98=y = int(y*200)*.005;
wavecode_2_enabled=1
wavecode_2_samples=512
wavecode_2_sep=0
wavecode_2_bSpectrum=0
wavecode_2_bUseDots=0
wavecode_2_bDrawThick=1
wavecode_2_bAdditive=0
wavecode_2_scaling=0.891519
wavecode_2_smoothing=0.820000
wavecode_2_r=1.000000
wavecode_2_g=1.000000
wavecode_2_b=1.000000
wavecode_2_a=0.100000
wave_2_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_2_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_2_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_2_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_2_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_2_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_2_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_2_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_2_init9=
wave_2_per_frame1=tm = time*.1;
wave_2_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7);
wave_2_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8);
wave_2_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1);
wave_2_per_frame5=
wave_2_per_frame6=tic = min(time - tin,1);
wave_2_per_frame7=tin = time;
wave_2_per_frame8=
wave_2_per_frame9=tva = (tic*q1*.5);
wave_2_per_frame10=tvb = (tic*q2*.5);
wave_2_per_frame11=tvc = (tic*q3*.5);
wave_2_per_frame12=
wave_2_per_frame13=q1 = tva;
wave_2_per_frame14=q2 = tvb;
wave_2_per_frame15=q3 = tvc;
wave_2_per_frame16=
wave_2_per_frame17=sz = .4;
wave_2_per_frame18=ra = .1;
wave_2_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len)));
wave_2_per_frame20=t4 = len;
wave_2_per_point1=ang = 0;
wave_2_per_point2=len = t4;
wave_2_per_point3=mad = .6;
wave_2_per_point4=
wave_2_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1);
wave_2_per_point6=ita = (ita + 1)*above(sample,0);
wave_2_per_point7=
wave_2_per_point8=mod = if(equal(it%2,0),1,  if(equal((it+1)%4,0),2,  if(equal((it+3)%8,0),3,  if(equal((it+7)%16,0),4,  if(equal((it+15)%32,0),5,  if(equal((it+31)%64,0),6,  if(equal((it+63)%128,0),7,7)  ))))));
wave_2_per_point9=
wave_2_per_point10=sw = sw - 1;
wave_2_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0);
wave_2_per_point12=
wave_2_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0);
wave_2_per_point14=a = lev*.1*1.46;
wave_2_per_point15=a = equal(lev,8);
wave_2_per_point16=
wave_2_per_point17=ar = if(above(sample,0),ar,1);
wave_2_per_point18=ar = if(equal(lev,0),ar*-1,ar);
wave_2_per_point19=br = if(above(sample,0),br,1);
wave_2_per_point20=br = if(equal(lev,1),br*-1,br);
wave_2_per_point21=cr = if(above(sample,0),cr,1);
wave_2_per_point22=cr = if(equal(lev,2),cr*-1,cr);
wave_2_per_point23=dr = if(above(sample,0),dr,1);
wave_2_per_point24=dr = if(equal(lev,3),dr*-1,dr);
wave_2_per_point25=er = if(above(sample,0),er,1);
wave_2_per_point26=er = if(equal(lev,4),er*-1,er);
wave_2_per_point27=fr = if(above(sample,0),fr,1);
wave_2_per_point28=fr = if(equal(lev,5),fr*-1,fr);
wave_2_per_point29=gr = if(above(sample,0),gr,1);
wave_2_per_point30=gr = if(equal(lev,6),gr*-1,gr);
wave_2_per_point31=hr = if(above(sample,0),hr,1);
wave_2_per_point32=hr = if(equal(lev,7),hr*-1,hr);
wave_2_per_point33=
wave_2_per_point34=mlev = lev*above(sample,0);
wave_2_per_point35=
wave_2_per_point36=swi = equal(q4,0)*equal(sample,0);
wave_2_per_point37=
wave_2_per_point38=ha = if(swi,1-2*rand(2),ha);
wave_2_per_point39=hb = if(swi,1-2*rand(2),hb);
wave_2_per_point40=hc = if(swi,1-2*rand(2),hc);
wave_2_per_point41=hd = if(swi,1-2*rand(2),hd);
wave_2_per_point42=he = if(swi,1-2*rand(2),he);
wave_2_per_point43=hf = if(swi,1-2*rand(2),hf);
wave_2_per_point44=hg = if(swi,1-2*rand(2),hg);
wave_2_per_point45=hh = if(swi,1-2*rand(2),hh);
wave_2_per_point46=
wave_2_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1);
wave_2_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33);
wave_2_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67);
wave_2_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2);
wave_2_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33);
wave_2_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67);
wave_2_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3);
wave_2_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3);
wave_2_per_point55=
wave_2_per_point56=len = len*mad;
wave_2_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar;
wave_2_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len;
wave_2_per_point59=
wave_2_per_point60=an = bang*(ar + br)*br;
wave_2_per_point61=len = len*mad;
wave_2_per_point62=x = x + above(lev,1)*sin(an)*len*br;
wave_2_per_point63=y = y + above(lev,1)*cos(an)*len;
wave_2_per_point64=
wave_2_per_point65=an = cang*(ar + br + cr)*cr;
wave_2_per_point66=len = len*mad;
wave_2_per_point67=x = x + above(lev,2)*sin(an)*len*cr;
wave_2_per_point68=y = y + above(lev,2)*cos(an)*len;
wave_2_per_point69=
wave_2_per_point70=an = dang*(ar + br + cr + dr)*dr;
wave_2_per_point71=len = len*mad;
wave_2_per_point72=x = x + above(lev,3)*sin(an)*len*dr;
wave_2_per_point73=y = y + above(lev,3)*cos(an)*len;
wave_2_per_point74=
wave_2_per_point75=an = eang*(ar + br + cr + dr + er)*er;
wave_2_per_point76=len = len*mad;
wave_2_per_point77=x = x + above(lev,4)*sin(an)*len*er;
wave_2_per_point78=y = y + above(lev,4)*cos(an)*len;
wave_2_per_point79=
wave_2_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr;
wave_2_per_point81=len = len*mad;
wave_2_per_point82=x = x + above(lev,5)*sin(an)*len*fr;
wave_2_per_point83=y = y + above(lev,5)*cos(an)*len;
wave_2_per_point84=
wave_2_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr;
wave_2_per_point86=len = len*mad;
wave_2_per_point87=x = x + above(lev,6)*sin(an)*len*gr;
wave_2_per_point88=y = y + above(lev,6)*cos(an)*len;
wave_2_per_point89=
wave_2_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr;
wave_2_per_point91=len = len*mad;
wave_2_per_point92=x = x + above(lev,7)*sin(an)*len*hr;
wave_2_per_point93=y = y + above(lev,7)*cos(an)*len;
wave_2_per_point94=
wave_2_per_point95=x = (x-.5)*.75 + .5;
wave_2_per_point96=
wave_2_per_point97=x = int(x*200)*.005;
wave_2_per_point98=y = int(y*200)*.005;
wavecode_3_enabled=1
wavecode_3_samples=512
wavecode_3_sep=0
wavecode_3_bSpectrum=0
wavecode_3_bUseDots=0
wavecode_3_bDrawThick=1
wavecode_3_bAdditive=0
wavecode_3_scaling=0.891519
wavecode_3_smoothing=0.820000
wavecode_3_r=1.000000
wavecode_3_g=1.000000
wavecode_3_b=1.000000
wavecode_3_a=0.100000
wave_3_init1=t1 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_3_init2=t2 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_3_init3=t3 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_3_init4=t4 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_3_init5=t5 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_3_init6=t6 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_3_init7=t7 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_3_init8=t8 = 1 + (rand(101)*.01 - rand(101)*.01)*.3;
wave_3_init9=
wave_3_per_frame1=tm = time*.1;
wave_3_per_frame2=t1 = t1*sin(tm*t4) + (1-t1)*sin(tm*t7);
wave_3_per_frame3=t2 = t2*sin(tm*t5) + (1-t2)*sin(tm*t8);
wave_3_per_frame4=t3 = t3*sin(tm*t6) + (1-t3)*sin(tm*1);
wave_3_per_frame5=
wave_3_per_frame6=tic = min(time - tin,1);
wave_3_per_frame7=tin = time;
wave_3_per_frame8=
wave_3_per_frame9=tva = (tic*q1*.5);
wave_3_per_frame10=tvb = (tic*q2*.5);
wave_3_per_frame11=tvc = (tic*q3*.5);
wave_3_per_frame12=
wave_3_per_frame13=q1 = tva;
wave_3_per_frame14=q2 = tvb;
wave_3_per_frame15=q3 = tvc;
wave_3_per_frame16=
wave_3_per_frame17=sz = .5;
wave_3_per_frame18=ra = .1;
wave_3_per_frame19=len = if(above(q6,0),if(below(len,sz),len + ra*sz*tic,min(sz,len)),if(above(len,0),len - ra*sz*tic,max(0,len)));
wave_3_per_frame20=t4 = len;
wave_3_per_point1=ang = 0;
wave_3_per_point2=len = t4;
wave_3_per_point3=mad = .6;
wave_3_per_point4=
wave_3_per_point5=it = if(above(sample,0),(it+equal(lev,8)),1);
wave_3_per_point6=ita = (ita + 1)*above(sample,0);
wave_3_per_point7=
wave_3_per_point8=mod = if(equal(it%2,0),1,  if(equal((it+1)%4,0),2,  if(equal((it+3)%8,0),3,  if(equal((it+7)%16,0),4,  if(equal((it+15)%32,0),5,  if(equal((it+31)%64,0),6,  if(equal((it+63)%128,0),7,7)  ))))));
wave_3_per_point9=
wave_3_per_point10=sw = sw - 1;
wave_3_per_point11=sw = if(equal(lev,8),mod,sw)*above(sample,0);
wave_3_per_point12=
wave_3_per_point13=lev = if(above(sample,0),if(above(sw,0),lev-1,lev+1),0);
wave_3_per_point14=a = lev*.1*1.46;
wave_3_per_point15=a = equal(lev,8);
wave_3_per_point16=
wave_3_per_point17=ar = if(above(sample,0),ar,1);
wave_3_per_point18=ar = if(equal(lev,0),ar*-1,ar);
wave_3_per_point19=br = if(above(sample,0),br,1);
wave_3_per_point20=br = if(equal(lev,1),br*-1,br);
wave_3_per_point21=cr = if(above(sample,0),cr,1);
wave_3_per_point22=cr = if(equal(lev,2),cr*-1,cr);
wave_3_per_point23=dr = if(above(sample,0),dr,1);
wave_3_per_point24=dr = if(equal(lev,3),dr*-1,dr);
wave_3_per_point25=er = if(above(sample,0),er,1);
wave_3_per_point26=er = if(equal(lev,4),er*-1,er);
wave_3_per_point27=fr = if(above(sample,0),fr,1);
wave_3_per_point28=fr = if(equal(lev,5),fr*-1,fr);
wave_3_per_point29=gr = if(above(sample,0),gr,1);
wave_3_per_point30=gr = if(equal(lev,6),gr*-1,gr);
wave_3_per_point31=hr = if(above(sample,0),hr,1);
wave_3_per_point32=hr = if(equal(lev,7),hr*-1,hr);
wave_3_per_point33=
wave_3_per_point34=mlev = lev*above(sample,0);
wave_3_per_point35=
wave_3_per_point36=swi = equal(q4,0)*equal(sample,0);
wave_3_per_point37=
wave_3_per_point38=ha = if(swi,1-2*rand(2),ha);
wave_3_per_point39=hb = if(swi,1-2*rand(2),hb);
wave_3_per_point40=hc = if(swi,1-2*rand(2),hc);
wave_3_per_point41=hd = if(swi,1-2*rand(2),hd);
wave_3_per_point42=he = if(swi,1-2*rand(2),he);
wave_3_per_point43=hf = if(swi,1-2*rand(2),hf);
wave_3_per_point44=hg = if(swi,1-2*rand(2),hg);
wave_3_per_point45=hh = if(swi,1-2*rand(2),hh);
wave_3_per_point46=
wave_3_per_point47=aang = if(above(sample,0),aang,aang + (q1*.8 + q2*.1 + q3*.1)*ha*1);
wave_3_per_point48=bang = if(above(sample,0),bang,bang + (q1*.57 + q2*.33 + q3*.1)*hb*1.33);
wave_3_per_point49=cang = if(above(sample,0),cang,cang + (q1*.33 + q2*.57 + q3*.1)*hc*1.67);
wave_3_per_point50=dang = if(above(sample,0),dang,dang + (q1*.1 + q2*.8 + q3*.1)*hd*2);
wave_3_per_point51=eang = if(above(sample,0),eang,eang + (q1*.1 + q2*.57 + q3*.33)*he*2.33);
wave_3_per_point52=fang = if(above(sample,0),fang,fang + (q1*.1 + q2*.33 + q3*.57)*hf*2.67);
wave_3_per_point53=gang = if(above(sample,0),gang,gang + (q1*.1 + q2*.1 + q3*.8)*hg*3);
wave_3_per_point54=hang = if(above(sample,0),hang,hang + (q3)*hh*3);
wave_3_per_point55=
wave_3_per_point56=len = len*mad;
wave_3_per_point57=x = .5 + above(lev,0)*sin(aang)*len*ar;
wave_3_per_point58=y = 0.5 + above(lev,0)*cos(aang)*len;
wave_3_per_point59=
wave_3_per_point60=an = bang*(ar + br)*br;
wave_3_per_point61=len = len*mad;
wave_3_per_point62=x = x + above(lev,1)*sin(an)*len*br;
wave_3_per_point63=y = y + above(lev,1)*cos(an)*len;
wave_3_per_point64=
wave_3_per_point65=an = cang*(ar + br + cr)*cr;
wave_3_per_point66=len = len*mad;
wave_3_per_point67=x = x + above(lev,2)*sin(an)*len*cr;
wave_3_per_point68=y = y + above(lev,2)*cos(an)*len;
wave_3_per_point69=
wave_3_per_point70=an = dang*(ar + br + cr + dr)*dr;
wave_3_per_point71=len = len*mad;
wave_3_per_point72=x = x + above(lev,3)*sin(an)*len*dr;
wave_3_per_point73=y = y + above(lev,3)*cos(an)*len;
wave_3_per_point74=
wave_3_per_point75=an = eang*(ar + br + cr + dr + er)*er;
wave_3_per_point76=len = len*mad;
wave_3_per_point77=x = x + above(lev,4)*sin(an)*len*er;
wave_3_per_point78=y = y + above(lev,4)*cos(an)*len;
wave_3_per_point79=
wave_3_per_point80=an = fang*(ar + br + cr + dr + er + fr)*fr;
wave_3_per_point81=len = len*mad;
wave_3_per_point82=x = x + above(lev,5)*sin(an)*len*fr;
wave_3_per_point83=y = y + above(lev,5)*cos(an)*len;
wave_3_per_point84=
wave_3_per_point85=an = gang*(ar + br + cr + dr + er + fr + gr)*gr;
wave_3_per_point86=len = len*mad;
wave_3_per_point87=x = x + above(lev,6)*sin(an)*len*gr;
wave_3_per_point88=y = y + above(lev,6)*cos(an)*len;
wave_3_per_point89=
wave_3_per_point90=an = hang*(ar + br + cr + dr + er + fr + gr + hr)*hr;
wave_3_per_point91=len = len*mad;
wave_3_per_point92=x = x + above(lev,7)*sin(an)*len*hr;
wave_3_per_point93=y = y + above(lev,7)*cos(an)*len;
wave_3_per_point94=
wave_3_per_point95=x = (x-.5)*.75 + .5;
wave_3_per_point96=
wave_3_per_point97=x = int(x*200)*.005;
wave_3_per_point98=y = int(y*200)*.005;
shapecode_0_enabled=0
shapecode_0_sides=4
shapecode_0_additive=0
shapecode_0_thickOutline=0
shapecode_0_textured=1
shapecode_0_x=0.630000
shapecode_0_y=0.500000
shapecode_0_rad=3.356410
shapecode_0_ang=3.141593
shapecode_0_tex_ang=3.141593
shapecode_0_tex_zoom=0.138466
shapecode_0_r=1.000000
shapecode_0_g=1.000000
shapecode_0_b=1.000000
shapecode_0_a=1.000000
shapecode_0_r2=1.000000
shapecode_0_g2=1.000000
shapecode_0_b2=1.000000
shapecode_0_a2=1.000000
shapecode_0_border_r=1.000000
shapecode_0_border_g=1.000000
shapecode_0_border_b=1.000000
shapecode_0_border_a=0.000000
shape_0_per_frame1=it = (it + 1)*below(it,10000);
shape_0_per_frame2=x = if(it%2,.26,.7247);
shape_0_per_frame3=
shape_0_per_frame4=tm = time*.1;
shape_0_per_frame5=x = .26 + .4647*(tm-int(tm));
shapecode_1_enabled=0
shapecode_1_sides=40
shapecode_1_additive=0
shapecode_1_thickOutline=0
shapecode_1_textured=1
shapecode_1_x=0.100000
shapecode_1_y=0.800000
shapecode_1_rad=0.833456
shapecode_1_ang=3.141593
shapecode_1_tex_ang=5.403539
shapecode_1_tex_zoom=0.499805
shapecode_1_r=1.000000
shapecode_1_g=1.000000
shapecode_1_b=1.000000
shapecode_1_a=1.000000
shapecode_1_r2=1.000000
shapecode_1_g2=1.000000
shapecode_1_b2=1.000000
shapecode_1_a2=0.000000
shapecode_1_border_r=1.000000
shapecode_1_border_g=1.000000
shapecode_1_border_b=1.000000
shapecode_1_border_a=0.000000
shapecode_2_enabled=1
shapecode_2_sides=4
shapecode_2_additive=0
shapecode_2_thickOutline=1
shapecode_2_textured=1
shapecode_2_x=0.500000
shapecode_2_y=0.500000
shapecode_2_rad=2.008520
shapecode_2_ang=0.000000
shapecode_2_tex_ang=1.570797
shapecode_2_tex_zoom=0.498300
shapecode_2_r=0.900000
shapecode_2_g=0.940000
shapecode_2_b=0.890000
shapecode_2_a=1.000000
shapecode_2_r2=0.840000
shapecode_2_g2=0.930000
shapecode_2_b2=1.000000
shapecode_2_a2=1.000000
shapecode_2_border_r=1.000000
shapecode_2_border_g=1.000000
shapecode_2_border_b=0.000000
shapecode_2_border_a=0.100000
shape_2_init1=t1 = rand(100)*0.01;
shape_2_init2=t2 = rand(100)*0.01;
shape_2_init3=te = 1;
shape_2_init4=poly = 5;
shape_2_per_frame1=r = .75 + .25*sin(time*1.187);
shape_2_per_frame2=g = .75 + .25*sin(time*1.153);
shape_2_per_frame3=b = .75 + .25*sin(time*1.105);
shape_2_per_frame4=
shape_2_per_frame5=r2 = 1.5 - r;
shape_2_per_frame6=g2 = 1.5 - g;
shape_2_per_frame7=b2 = 1.5 - b;
shapecode_3_enabled=0
shapecode_3_sides=40
shapecode_3_additive=0
shapecode_3_thickOutline=0
shapecode_3_textured=1
shapecode_3_x=0.500000
shapecode_3_y=0.500000
shapecode_3_rad=1.847536
shapecode_3_ang=3.141593
shapecode_3_tex_ang=5.592035
shapecode_3_tex_zoom=0.499805
shapecode_3_r=1.000000
shapecode_3_g=1.000000
shapecode_3_b=1.000000
shapecode_3_a=1.000000
shapecode_3_r2=1.000000
shapecode_3_g2=1.000000
shapecode_3_b2=1.000000
shapecode_3_a2=1.000000
shapecode_3_border_r=1.000000
shapecode_3_border_g=1.000000
shapecode_3_border_b=1.000000
shapecode_3_border_a=0.000000
per_frame_1=wave_a = 0;
per_frame_2=
per_frame_3=tic = min(time - tin,1);
per_frame_4=tin = time;
per_frame_5=
per_frame_6=ra = 10;
per_frame_7=
per_frame_8=
per_frame_9=treb_avg = tic*(treb_avg*(1/tic - ra) + ra*treb);
per_frame_10=mid_avg = tic*(mid_avg*(1/tic - ra) + ra*mid);
per_frame_11=bass_avg = tic*(bass_avg*(1/tic - ra) + ra*bass);
per_frame_12=
per_frame_13=rb = 1;
per_frame_14=vav = tic*(vav*(1/tic - rb) + rb*(bass+treb+mid)*.33333);
per_frame_15=q1 = treb_avg;
per_frame_16=q2 = mid_avg;
per_frame_17=q3 = bass_avg;
per_frame_18=
per_frame_19=db = bass - bass_avg;
per_frame_20=
per_frame_21=it = (it + tic)*below(it,1);
per_frame_22=
per_frame_23=rb = .5*(1/tic);
per_frame_24=bvb = tic*(bass*rb + (1/tic-rb)*bvb);
per_frame_25=bd = bass - bvb;
per_frame_26=
per_frame_27=vm = vm - tic + swi;
per_frame_28=swi = above(bd - vm,0);
per_frame_29=
per_frame_30=q4 = 1-swi;
per_frame_31=
per_frame_32=cm = if(above(iter,30) + equal(time,0),rand(3) + 1,cm);
per_frame_33=iter = (iter + tic)*(1-above(iter,30));
per_frame_34=q5 = if(equal(cm,0),3,cm);
per_frame_35=
per_frame_36=cma = if(above(itar,5) + equal(time,0),int(vav*5),cma);
per_frame_37=itar = (itar + tic)*(1-above(itar,5));
per_frame_38=
per_frame_39=q6 = int(vav*5);
per_frame_40=
per_frame_41=monitor = q6;
per_frame_42=
per_frame_43=decay = 1;
