{"version":2,"baseVals":{"rating":4,"gammaadj":1.98,"decay":0.5,"echo_zoom":1,"echo_alpha":0.5,"echo_orient":3,"wave_mode":6,"wave_thick":1,"modwavealphabyvolume":1,"wave_brighten":0,"wrap":0,"darken":1,"wave_a":0.55,"wave_scale":0.273,"wave_smoothing":0.63,"wave_mystery":1,"modwavealphastart":1.6,"modwavealphaend":2,"warpanimspeed":1.459,"warpscale":2.007,"zoom":0.9999,"warp":0.01,"sx":0.9999,"wave_r":0.5,"wave_g":0,"wave_b":0,"wave_y":0,"ob_size":0,"ob_a":1,"ib_size":0,"ib_r":0,"ib_g":0,"ib_b":0,"mv_x":64,"mv_y":48,"mv_l":0,"mv_a":0,"b1ed":0},"shapes":[{"baseVals":{"textured":1,"rad":1.79142,"tex_ang":0.62832,"g":1,"b":1,"a":0,"g2":0,"a2":1,"border_a":0,"enabled":0},"init_eqs_eel":"","frame_eqs_eel":""},{"baseVals":{"enabled":0},"init_eqs_eel":"","frame_eqs_eel":""},{"baseVals":{"enabled":0},"init_eqs_eel":"","frame_eqs_eel":""},{"baseVals":{"enabled":0},"init_eqs_eel":"","frame_eqs_eel":""}],"waves":[{"baseVals":{"enabled":1,"thick":1},"init_eqs_eel":"","frame_eqs_eel":"","point_eqs_eel":"ma=ma+(above(bass,1)*3.1415*.01*bass);\nma=ma-(above(treb,1)*3.1415*.01*treb);\n\nmx=mx+(.0002*cos(ma));\nmy=my+(.0002*sin(ma));\n\nmx=if(above(mx,.9),(.9-mx),mx);\nmy=if(above(my,.9),(.9-my),my);\nmx=if(below(mx,.1),(.9+mx),mx);\nmy=if(below(my,.1),(.9+my),my);\n\nx=mx*1.25-0.1;\ny=my;\n\na=(above(bass+mid+treb,.8));"},{"baseVals":{"enabled":1,"thick":1,"r":0,"g":0,"b":0},"init_eqs_eel":"","frame_eqs_eel":"","point_eqs_eel":"ma=ma+(above(bass,1)*3.1415*.05*bass);\nma=ma-(above(mid,1)*3.1415*.05*mid);\n\nmx=mx+(.0001*cos(ma));\nmy=my+(.0001*sin(ma));\n\nmx=if(above(mx,.9),(.9-mx),mx);\nmy=if(above(my,.9),(.9-my),my);\nmx=if(below(mx,.1),(.9+mx),mx);\nmy=if(below(my,.1),(.9+my),my);\n\nx=mx*1.25-0.125;\ny=my;\n\na=(above(bass+mid+treb,.1));"},{"baseVals":{"enabled":1,"thick":1},"init_eqs_eel":"","frame_eqs_eel":"","point_eqs_eel":"ma=ma+(above(mid,1)*3.1415*.01*mid);\nma=ma-(above(treb,1)*3.1415*.01*treb);\n\nmx=mx+(.0004*cos(ma));\nmy=my+(.0004*sin(ma));\n\nmx=if(above(mx,.9),(.9-mx),mx);\nmy=if(above(my,.9),(.9-my),my);\nmx=if(below(mx,.1),(.9+mx),mx);\nmy=if(below(my,.1),(.9+my),my);\n\nx=mx*1.25-0.125;\ny=my;\n\na=(above(bass+mid+treb,.3));"},{"baseVals":{"enabled":1,"thick":1,"additive":1,"scaling":2.0231,"smoothing":0,"r":0.72,"g":0,"b":0.25},"init_eqs_eel":"t2 = 0;\nt3 = 0;\nt4 = 0;\ncl = 0;","frame_eqs_eel":"vol = bass*8 + mid*5 + treb*3;\nm = m*0.97 + vol*0.08;\nmonitor = vol;\nbeat = above(vol,res)*above(vol,m)*above(vol,16);\ndiff = (1-beat)*diff + beat*(vol-res);\nres = beat*(vol + m*0.04) + (1-beat)*(res -  (0.1+diff*0.02)*60/fps);\nres = max(0,res);\n\n//a = beat;","point_eqs_eel":"tt3 = tt3*0.6 + (value1)*1;\ntt2 = tt2*0.7 + tt3*0.2;\ntt1 = tt1*0.8 + tt2*0.1;\nd = d*0.9 + tt1*0.2;\n\ny = 0.5 + d*sample*(1-sample)*2;\nx =  -0.05 + sample*1.1;"}],"init_eqs_eel":"//******** INITIALIZATION *********\nn = 0; loop (10000, gmegabuf(n)=0; n=n+1; ); \nn = 0; loop (10000,  megabuf(n)=0; n=n+1; ); \ntrelx = 0;  trely = 0; trelz = 0;\nreg20 = 1; reg21 = 0; reg22 = 0; reg23 = 0; reg24 = 1; reg25 = 0; reg26 = 0; reg27 = 0; reg28 = 1;\n\n//Find random starting point\nwhile (exec2(\n  ran1 = rand(800)/100;  ran2 = rand(800)/100;  ran3 = rand(800)/100;\n  PosX = rand(10)-5;   PosY = rand(10)-5;   PosZ = rand(10)-5; \n  c1 = cos(ran1); c2 = cos(ran2); c3 = cos(ran3); \n  s1 = sin(ran1); s2 = sin(ran2); s3 = sin(ran3);\n\n  reg20 = c2*c1; reg21 = c2*s1; reg22 = -s2;\n  reg23 = s3*s2*c1 - c3*s1; reg24 = s3*s2*s1 + c3*c1; reg25 = s3*c2;\n  reg26 = c3*s2*c1 + s3*s1; reg27 = c3*s2*s1 - s3*c1; reg28 = c3*c2;\n\n  //***********BOT*************\n  //Coord. Trans. must exactly match def in warp S. !!!!\n  dist = 0.001;\n  while (exec2(\n    uvx = reg26*dist/q7; uvy = reg27*dist/q7; uvz = reg28*dist/q7;\n    uvx += PosX; uvy += PosY; uvz += PosZ;\n    uvx = 8.0*((uvx/8+30.5 - int(uvx/8+30.5))-.5);\n    uvy = 8.0*((uvy/8+30.5 - int(uvy/8+30.5))-.5);\n    uvz = 8.0*((uvz/8+30.5 - int(uvz/8+30.5))-.5);\n    uvx0 = uvx; uvy0 = uvy; uvz0 = uvz;\n    loop (7+1,\n      uvx = if (uvx > 1, 2-uvx, if(uvx < -1, -2-uvx, uvx));\n      uvy = if (uvy > 1, 2-uvy, if(uvy < -1, -2-uvy, uvy));\n      uvz = if (uvz > 1, 2-uvz, if(uvz < -1, -2-uvz, uvz));\n      slen = uvx*uvx + uvy*uvy + uvz*uvz;\n      uvx = if (slen < 0.25, uvx*4, if (slen < 1, uvx/slen, uvx)) *2.6 + uvx0; \n      uvy = if (slen < 0.25, uvy*4, if (slen < 1, uvy/slen, uvy)) *2.6 + uvy0; \n      uvz = if (slen < 0.25, uvz*4, if (slen < 1, uvz/slen, uvz)) *2.6 + uvz0; \n    );\n    len = sqrt(uvx*uvx + uvy*uvy + uvz*uvz);\n    dist *= 1.05;\n  ,(dist < 0.6)*(len > 30)));\n,(dist < .2))); //end while\n\n\n//---------- some global vars, do not change -------------\nq7 = .1; //MyZoom\nq30 = 1; //logarithmic Z-Dist storage; unused\nq3 = 1.0/q30; //store inverse so shaders don't need to do inverse for division\nq31 = 128;\nq29 = 1.0/q31;//store the inverse of q31 so the shaders don't need to do inverse for division\nstart = 1; travel = 0; RotZ = 0; look = 0; slow = 0;\ncran0 = rand(1);\ncran1 = rand(1);","frame_eqs_eel":"wave_a = 0;\nfps_ = .9 * fps_ + .1*if(fps<=25,fps,25+.5*(fps-25)); \ndec_s = 1-.03*30/fps_;\n\nbeat = (time >  t0+2);\nt0 = if(beat, time, t0);\n\nspeed = min(0.2,dist_-.0) * (1+avg) *(1-slow*.7);\nds = ds * dec_s + (1-dec_s)*speed*.2/fps_ ; \n\nRotZ = if (RotZ==0,beat*(rand(100)<10)*(rand(10)/10-.5),\n                   bnot(beat*(rand(100)<30))*RotZ);\n\nslow = if (bnot(slow), beat*(rand(1000*avg)<6), bnot(beat*(rand(100)<50)));\nlook = if (bnot(look), beat*(rand(1000*speed)<5), bnot(beat));\n\n//Lamp View\nlx = if (beat,rand(150)/200+.15,lx);\nly = if (beat,rand(150)/200+.15,ly);\nlampx = lampx * dec_s + (1-dec_s)*if (look,lx,0.5);\nlampy = lampy * dec_s + (1-dec_s)*if (look,ly,0.5);\nq1 = lampx; q2 = lampy;\n\n//Position \nDirX= reg26; DirY= reg27; DirZ = reg28;\nPosX = PosX + ds*DirX ; PosY = PosY + ds*DirY; PosZ = PosZ + ds*DirZ; \nq4 = PosX; q5 = PosY; q6 = PosZ;\n\nangchg = (.15-dist_)*(dist_ < .15)/2;\ntravel = if (angchg > 0,0,travel+ds);\nv1 = v1 * dec_s + (1-dec_s)* RotZ * .05/fps_;\nv2 = v2 *dec_s + (1-dec_s)*angchg *xslope/fps_;\nv3 = v3 *dec_s + (1-dec_s)*(angchg *yslope/fps_ + v1/2 * (travel>1));\n\n//push old RotMat\nreg30 =reg20; reg31 =reg21; reg32 =reg22; \nreg33 =reg23; reg34 =reg24; reg35 =reg25; \nreg36 =reg26; reg37 =reg27; reg38 =reg28; \n\nn = 0; avg = 0;\nloop (5,\n  n = n+1;\n  //new Rot. Mat for infinitesimal angles\n  ran1 = rand(100)/100;\n  ran2 = rand(100)/200-.25;\n  tx = cos(n*1.57+ran2) * (n <= 4)*ran1; ty = sin(n*1.57+ran2) * (n <= 4)*ran1;\n  c1 = cos(v1); c2 = cos(v2+ty); c3 = cos(v3+tx); \n  s1 = sin(v1); s2 = sin(v2+ty); s3 = sin(v3+tx);\n  reg10 = c2*c1; reg11 = c2*s1; reg12 = -s2;\n  reg13 = s3*s2*c1 - c3*s1; reg14 = s3*s2*s1 + c3*c1; reg15 = s3*c2;\n  reg16 = c3*s2*c1 + s3*s1; reg17 = c3*s2*s1 - s3*c1; reg18 = c3*c2;\n\n  //pop old RotMat\n  reg20 =reg30; reg21 =reg31; reg22 =reg32; \n  reg23 =reg33; reg24 =reg34; reg25 =reg35; \n  reg26 =reg36; reg27 =reg37; reg28 =reg38; \n\n  //Multiply new RotMat by old one\n  q20 = reg10*reg20 + reg11*reg23 + reg12*reg26;\n  q21 = reg10*reg21 + reg11*reg24 + reg12*reg27;\n  q22 = reg10*reg22 + reg11*reg25 + reg12*reg28;\n  q23 = reg13*reg20 + reg14*reg23 + reg15*reg26;\n  q24 = reg13*reg21 + reg14*reg24 + reg15*reg27;\n  q25 = reg13*reg22 + reg14*reg25 + reg15*reg28;\n  q26 = reg16*reg20 + reg17*reg23 + reg18*reg26;\n  q27 = reg16*reg21 + reg17*reg24 + reg18*reg27;\n  q28 = reg16*reg22 + reg17*reg25 + reg18*reg28;\n\n  reg20 =q20; reg21 =q21; reg22 =q22;\n  reg23 =q23; reg24 =q24; reg25 =q25;\n  reg26 =q26; reg27 =q27; reg28 =q28;\n\n  //***********BOT*************\n  //Coord. Trans. must exactly match def in warp S. !!!!\n  dist = 0.002;\n  while (exec2(\n    uvx = reg26*dist/q7; uvy = reg27*dist/q7; uvz = reg28*dist/q7;\n    uvx += PosX; uvy += PosY; uvz += PosZ;\n    uvx = 8.0*((uvx/8+30.5 - int(uvx/8+30.5))-.5);\n    uvy = 8.0*((uvy/8+30.5 - int(uvy/8+30.5))-.5);\n    uvz = 8.0*((uvz/8+30.5 - int(uvz/8+30.5))-.5);\n    uvx0 = uvx; uvy0 = uvy; uvz0 = uvz;\n    loop (7+1,\n      uvx = if (uvx > 1, 2-uvx, if(uvx < -1, -2-uvx, uvx));\n      uvy = if (uvy > 1, 2-uvy, if(uvy < -1, -2-uvy, uvy));\n      uvz = if (uvz > 1, 2-uvz, if(uvz < -1, -2-uvz, uvz));\n      slen = uvx*uvx + uvy*uvy + uvz*uvz;\n      uvx = if (slen < 0.25, uvx*4, if (slen < 1, uvx/slen, uvx)) *2.6 + uvx0; \n      uvy = if (slen < 0.25, uvy*4, if (slen < 1, uvy/slen, uvy)) *2.6 + uvy0; \n      uvz = if (slen < 0.25, uvz*4, if (slen < 1, uvz/slen, uvz)) *2.6 + uvz0; \n    );\n    len = sqrt(uvx*uvx + uvy*uvy + uvz*uvz);\n    dist *= 1.1;\n  ,(dist < 0.6)*(len > 30)));\n  megabuf(n) = megabuf(n)*dec_s + (1-dec_s)*dist; //stores the 4 trial points\n  avg = avg+abs(megabuf(n)/5);\n); //end loop 5\n\nn = 0; avg = 0; loop (5, n=n+1; avg = avg+abs(megabuf(n)/5));\n\nxslope = 1/avg*(megabuf(1)-megabuf(3));\nyslope =  1/avg*(megabuf(4)-megabuf(2));\nmonitor = avg;\ndist_ = dist_*dec_s + (1-dec_s)*dist;\n\n//sustain\nq13 = 1-ds; //warp zoom uv \nq14 = 4*abs(ds) + 6*(abs(v1) + 2*abs(v2) + 2*abs(v3)) + 1.0/255 + start*.1; \nq18 = cran1; //brightness balance back/front\nq19 = .5 + .5*sin(time*.02+cran0*6); //brightness backgd\nstart = start * .9;\n\nbb = bb*0.99 + bass*0.02;\nmm = mm*0.99 + mid*0.02;\ntt = tt*0.99 + treb*0.02;\n\nmx = max(max(bb,mm),tt);\nmn = min(min(bb,mm),tt);\n\nh1 = (bb-mn)/(mx-mn);\nh2 = (mm-mn)/(mx-mn);\nh3 = (tt-mn)/(mx-mn);\n\nv = 0.1333/fps;\nbm = bm + (h1-h2)*v;\nmt = mt + (h2-h3)*v;\nbt = bt + (h1-h3)*v;\n\nw = bm*2;\nq3 = sin(w);\nq9 = cos(w);\n\n\nq17 = bm;\nq18 = mt;\nq19 = bt;","pixel_eqs_eel":"warp = 0; dx = .00; zoom = 1; dy = 0;","warp":"float sustain;\nfloat xlat_mutabledist;\nfloat xlat_mutablestruc;\nvec2 xlat_mutableuv1;\n shader_body { \n  mat3 tmpvar_1;\n  tmpvar_1[uint(0)].x = q20;\n  tmpvar_1[uint(0)].y = q23;\n  tmpvar_1[uint(0)].z = q26;\n  tmpvar_1[1u].x = q21;\n  tmpvar_1[1u].y = q24;\n  tmpvar_1[1u].z = q27;\n  tmpvar_1[2u].x = q22;\n  tmpvar_1[2u].y = q25;\n  tmpvar_1[2u].z = q28;\n  vec3 tmpvar_2;\n  tmpvar_2.x = q4;\n  tmpvar_2.y = q5;\n  tmpvar_2.z = q6;\n  sustain = (0.98 - (q14 * 2.0));\n  vec2 uv_3;\n  vec3 uv2_4;\n  vec3 ret_5;\n  uv_3 = (((uv - 0.5) * q13) + 0.5);\n  xlat_mutableuv1 = ((uv_3 - 0.5) * aspect.xy);\n  vec4 tmpvar_6;\n  tmpvar_6 = fract((8.0 * texture (sampler_noise_lq, (uv_3 + rand_frame.yz))));\n  xlat_mutabledist = tmpvar_6.x;\n  if ((tmpvar_6.y > 0.2)) {\n    vec3 tmpvar_7;\n    tmpvar_7 = (tmpvar_6.xyz - vec3(0.4, 0.5, 0.5));\n    vec2 uvi_8;\n    uvi_8 = ((tmpvar_7.zy * 0.003) + uv_3);\n    vec2 pix_9;\n    vec4 nb2_10;\n    vec4 nb_11;\n    vec2 x_12;\n    x_12 = (uvi_8 - 0.5);\n    pix_9 = (texsize.zw * (1.0 + (\n      sqrt(dot (x_12, x_12))\n     * 3.0)));\n    vec2 tmpvar_13;\n    tmpvar_13 = (q29 * floor((\n      (q31 * texture (sampler_pw_main, (uvi_8 - pix_9)).yz)\n     + vec2(0.5, 0.5))));\n    nb_11.x = (1.0 - ((0.015625 * \n      (tmpvar_13.x - 0.505)\n    ) + tmpvar_13.y));\n    vec2 tmpvar_14;\n    tmpvar_14 = (q29 * floor((\n      (q31 * texture (sampler_pw_main, (uvi_8 + (pix_9 * vec2(1.0, -1.0)))).yz)\n     + vec2(0.5, 0.5))));\n    nb_11.y = (1.0 - ((0.015625 * \n      (tmpvar_14.x - 0.505)\n    ) + tmpvar_14.y));\n    vec2 tmpvar_15;\n    tmpvar_15 = (q29 * floor((\n      (q31 * texture (sampler_pw_main, (uvi_8 + pix_9)).yz)\n     + vec2(0.5, 0.5))));\n    nb_11.z = (1.0 - ((0.015625 * \n      (tmpvar_15.x - 0.505)\n    ) + tmpvar_15.y));\n    vec2 tmpvar_16;\n    tmpvar_16 = (q29 * floor((\n      (q31 * texture (sampler_pw_main, (uvi_8 + (pix_9 * vec2(-1.0, 1.0)))).yz)\n     + vec2(0.5, 0.5))));\n    nb_11.w = (1.0 - ((0.015625 * \n      (tmpvar_16.x - 0.505)\n    ) + tmpvar_16.y));\n    vec2 tmpvar_17;\n    tmpvar_17 = (q29 * floor((\n      (q31 * texture (sampler_pw_main, (uvi_8 + (pix_9 * vec2(0.0, -1.0)))).yz)\n     + vec2(0.5, 0.5))));\n    nb2_10.x = (1.0 - ((0.015625 * \n      (tmpvar_17.x - 0.505)\n    ) + tmpvar_17.y));\n    vec2 tmpvar_18;\n    tmpvar_18 = (q29 * floor((\n      (q31 * texture (sampler_pw_main, (uvi_8 + (pix_9 * vec2(1.0, 0.0)))).yz)\n     + vec2(0.5, 0.5))));\n    nb2_10.y = (1.0 - ((0.015625 * \n      (tmpvar_18.x - 0.505)\n    ) + tmpvar_18.y));\n    vec2 tmpvar_19;\n    tmpvar_19 = (q29 * floor((\n      (q31 * texture (sampler_pw_main, (uvi_8 + (pix_9 * vec2(0.0, 1.0)))).yz)\n     + vec2(0.5, 0.5))));\n    nb2_10.z = (1.0 - ((0.015625 * \n      (tmpvar_19.x - 0.505)\n    ) + tmpvar_19.y));\n    vec2 tmpvar_20;\n    tmpvar_20 = (q29 * floor((\n      (q31 * texture (sampler_pw_main, (uvi_8 + (pix_9 * vec2(-1.0, 0.0)))).yz)\n     + vec2(0.5, 0.5))));\n    nb2_10.w = (1.0 - ((0.015625 * \n      (tmpvar_20.x - 0.505)\n    ) + tmpvar_20.y));\n    vec4 tmpvar_21;\n    tmpvar_21 = min (nb_11, nb2_10);\n    nb_11.zw = tmpvar_21.zw;\n    nb_11.xy = min (tmpvar_21.xy, tmpvar_21.zw);\n    xlat_mutabledist = (min (nb_11.x, nb_11.y) + ((0.005 * tmpvar_7.x) * abs(tmpvar_7.y)));\n  };\n  vec2 tmpvar_22;\n  tmpvar_22 = (q29 * floor((\n    (q31 * texture (sampler_pw_main, uv_3).yz)\n   + vec2(0.5, 0.5))));\n  float tmpvar_23;\n  tmpvar_23 = min (xlat_mutabledist, (1.0 - (\n    (0.015625 * (tmpvar_22.x - 0.505))\n   + tmpvar_22.y)));\n  xlat_mutabledist = tmpvar_23;\n  vec3 tmpvar_24;\n  tmpvar_24.xy = (xlat_mutableuv1 * tmpvar_23);\n  tmpvar_24.z = (tmpvar_23 - 0.02);\n  uv2_4 = ((fract(\n    ((((\n      (tmpvar_24 / q7)\n     * tmpvar_1) + tmpvar_2) / 8.0) + 0.5)\n  ) - 0.5) * 8.0);\n  vec3 zz_25;\n  zz_25 = ((2.0 * clamp (uv2_4, vec3(-1.0, -1.0, -1.0), vec3(1.0, 1.0, 1.0))) - uv2_4);\n  float tmpvar_26;\n  tmpvar_26 = dot (zz_25, zz_25);\n  if ((tmpvar_26 <= 0.25)) {\n    zz_25 = (zz_25 * 4.0);\n  } else {\n    if ((tmpvar_26 <= 1.0)) {\n      zz_25 = (zz_25 / tmpvar_26);\n    };\n  };\n  zz_25 = ((2.6 * zz_25) + uv2_4);\n  zz_25 = ((2.0 * clamp (zz_25, vec3(-1.0, -1.0, -1.0), vec3(1.0, 1.0, 1.0))) - zz_25);\n  float tmpvar_27;\n  tmpvar_27 = dot (zz_25, zz_25);\n  if ((tmpvar_27 <= 0.25)) {\n    zz_25 = (zz_25 * 4.0);\n  } else {\n    if ((tmpvar_27 <= 1.0)) {\n      zz_25 = (zz_25 / tmpvar_27);\n    };\n  };\n  zz_25 = ((2.6 * zz_25) + uv2_4);\n  zz_25 = ((2.0 * clamp (zz_25, vec3(-1.0, -1.0, -1.0), vec3(1.0, 1.0, 1.0))) - zz_25);\n  float tmpvar_28;\n  tmpvar_28 = dot (zz_25, zz_25);\n  if ((tmpvar_28 <= 0.25)) {\n    zz_25 = (zz_25 * 4.0);\n  } else {\n    if ((tmpvar_28 <= 1.0)) {\n      zz_25 = (zz_25 / tmpvar_28);\n    };\n  };\n  zz_25 = ((2.6 * zz_25) + uv2_4);\n  zz_25 = ((2.0 * clamp (zz_25, vec3(-1.0, -1.0, -1.0), vec3(1.0, 1.0, 1.0))) - zz_25);\n  float tmpvar_29;\n  tmpvar_29 = dot (zz_25, zz_25);\n  if ((tmpvar_29 <= 0.25)) {\n    zz_25 = (zz_25 * 4.0);\n  } else {\n    if ((tmpvar_29 <= 1.0)) {\n      zz_25 = (zz_25 / tmpvar_29);\n    };\n  };\n  zz_25 = ((2.6 * zz_25) + uv2_4);\n  zz_25 = ((2.0 * clamp (zz_25, vec3(-1.0, -1.0, -1.0), vec3(1.0, 1.0, 1.0))) - zz_25);\n  float tmpvar_30;\n  tmpvar_30 = dot (zz_25, zz_25);\n  if ((tmpvar_30 <= 0.25)) {\n    zz_25 = (zz_25 * 4.0);\n  } else {\n    if ((tmpvar_30 <= 1.0)) {\n      zz_25 = (zz_25 / tmpvar_30);\n    };\n  };\n  zz_25 = ((2.6 * zz_25) + uv2_4);\n  zz_25 = ((2.0 * clamp (zz_25, vec3(-1.0, -1.0, -1.0), vec3(1.0, 1.0, 1.0))) - zz_25);\n  float tmpvar_31;\n  tmpvar_31 = dot (zz_25, zz_25);\n  if ((tmpvar_31 <= 0.25)) {\n    zz_25 = (zz_25 * 4.0);\n  } else {\n    if ((tmpvar_31 <= 1.0)) {\n      zz_25 = (zz_25 / tmpvar_31);\n    };\n  };\n  zz_25 = ((2.6 * zz_25) + uv2_4);\n  zz_25 = ((2.0 * clamp (zz_25, vec3(-1.0, -1.0, -1.0), vec3(1.0, 1.0, 1.0))) - zz_25);\n  float tmpvar_32;\n  tmpvar_32 = dot (zz_25, zz_25);\n  if ((tmpvar_32 <= 0.25)) {\n    zz_25 = (zz_25 * 4.0);\n  } else {\n    if ((tmpvar_32 <= 1.0)) {\n      zz_25 = (zz_25 / tmpvar_32);\n    };\n  };\n  zz_25 = ((2.6 * zz_25) + uv2_4);\n  zz_25 = ((2.0 * clamp (zz_25, vec3(-1.0, -1.0, -1.0), vec3(1.0, 1.0, 1.0))) - zz_25);\n  float tmpvar_33;\n  tmpvar_33 = dot (zz_25, zz_25);\n  if ((tmpvar_33 <= 0.25)) {\n    zz_25 = (zz_25 * 4.0);\n  } else {\n    if ((tmpvar_33 <= 1.0)) {\n      zz_25 = (zz_25 / tmpvar_33);\n    };\n  };\n  zz_25 = ((2.6 * zz_25) + uv2_4);\n  float tmpvar_34;\n  tmpvar_34 = sqrt(dot (zz_25, zz_25));\n  xlat_mutablestruc = (sqrt(dot (zz_25.zy, zz_25.zy)) / 20.0);\n  float tmpvar_35;\n  vec2 tmpvar_36;\n  tmpvar_36 = (q29 * floor((\n    (q31 * texture (sampler_pw_main, uv_3).yz)\n   + vec2(0.5, 0.5))));\n  tmpvar_35 = (1.0 - ((0.015625 * \n    (tmpvar_36.x - 0.505)\n  ) + tmpvar_36.y));\n  if ((((tmpvar_23 <= tmpvar_35) && (tmpvar_34 < 20.0)) && (tmpvar_23 > 0.005))) {\n    ret_5.x = (((1.0 - sustain) * xlat_mutablestruc) + (sustain * mix (texture (sampler_main, uv_3).xyz, \n      ((((texture (sampler_blur1, uv_3).xyz * scale1) + bias1) * 3.0) / 3.0)\n    , vec3(\n      (q14 * 4.0)\n    )).x));\n    float tmpvar_37;\n    tmpvar_37 = pow (tmpvar_23, q30);\n    vec2 tmpvar_38;\n    tmpvar_38 = (q29 * floor((\n      (q31 * vec2((1.0 - tmpvar_37)))\n     + vec2(0.5, 0.5))));\n    vec2 tmpvar_39;\n    tmpvar_39.x = ((64.0 * (\n      (1.0 - tmpvar_37)\n     - tmpvar_38.x)) + 0.495);\n    tmpvar_39.y = tmpvar_38.x;\n    ret_5.yz = tmpvar_39;\n  } else {\n    vec3 tmpvar_40;\n    tmpvar_40.yz = vec2(1.0, 1.0);\n    tmpvar_40.x = sustain;\n    vec3 tmpvar_41;\n    tmpvar_41.xy = vec2(0.0, 0.0);\n    tmpvar_41.z = q14;\n    ret_5 = ((texture (sampler_pc_main, uv_orig).xyz * tmpvar_40) - tmpvar_41);\n  };\n  vec4 tmpvar_42;\n  tmpvar_42.w = 1.0;\n  tmpvar_42.xyz = ret_5;\n  ret = tmpvar_42.xyz;\n }","comp":" shader_body { \n  vec3 tmpvar_1;\n  tmpvar_1.x = q4;\n  tmpvar_1.y = q5;\n  tmpvar_1.z = q6;\n  mat3 tmpvar_2;\n  tmpvar_2[uint(0)].x = q20;\n  tmpvar_2[uint(0)].y = q23;\n  tmpvar_2[uint(0)].z = q26;\n  tmpvar_2[1u].x = q21;\n  tmpvar_2[1u].y = q24;\n  tmpvar_2[1u].z = q27;\n  tmpvar_2[2u].x = q22;\n  tmpvar_2[2u].y = q25;\n  tmpvar_2[2u].z = q28;\n  vec2 tmpvar_3;\n  tmpvar_3.x = q1;\n  tmpvar_3.y = q2;\n  vec2 uv_4;\n  uv_4 = uv;\n  vec3 ret_5;\n  vec2 tmpvar_6;\n  tmpvar_6 = ((uv - 0.5) * aspect.xy);\n  vec2 tmpvar_7;\n  tmpvar_7.x = ((q9 * tmpvar_6.x) - (q3 * tmpvar_6.y));\n  tmpvar_7.y = ((q3 * tmpvar_6.x) + (q9 * tmpvar_6.y));\n  vec2 tmpvar_8;\n  tmpvar_8 = (0.5 - (tmpvar_7 * 2.0));\n  vec2 numerator_9;\n  numerator_9 = (tmpvar_8 - vec2(0.0, 0.5));\n  vec2 denominator_10;\n  denominator_10 = (tmpvar_8 - vec2(1.0, 0.5));\n  vec2 tmpvar_11;\n  tmpvar_11.x = ((numerator_9.x * denominator_10.x) + (numerator_9.y * denominator_10.y));\n  tmpvar_11.y = ((numerator_9.y * denominator_10.x) - (numerator_9.x * denominator_10.y));\n  vec2 tmpvar_12;\n  tmpvar_12 = (((tmpvar_11 / \n    ((denominator_10.x * denominator_10.x) + (denominator_10.y * denominator_10.y))\n  ) + 0.5) - vec2(0.5, 0.5));\n  float tmpvar_13;\n  tmpvar_13 = sqrt(dot (tmpvar_12, tmpvar_12));\n  float tmpvar_14;\n  float tmpvar_15;\n  tmpvar_15 = (min (abs(\n    (tmpvar_12.x / tmpvar_12.y)\n  ), 1.0) / max (abs(\n    (tmpvar_12.x / tmpvar_12.y)\n  ), 1.0));\n  float tmpvar_16;\n  tmpvar_16 = (tmpvar_15 * tmpvar_15);\n  tmpvar_16 = (((\n    ((((\n      ((((-0.01213232 * tmpvar_16) + 0.05368138) * tmpvar_16) - 0.1173503)\n     * tmpvar_16) + 0.1938925) * tmpvar_16) - 0.3326756)\n   * tmpvar_16) + 0.9999793) * tmpvar_15);\n  tmpvar_16 = (tmpvar_16 + (float(\n    (abs((tmpvar_12.x / tmpvar_12.y)) > 1.0)\n  ) * (\n    (tmpvar_16 * -2.0)\n   + 1.570796)));\n  tmpvar_14 = (tmpvar_16 * sign((tmpvar_12.x / tmpvar_12.y)));\n  if ((abs(tmpvar_12.y) > (1e-08 * abs(tmpvar_12.x)))) {\n    if ((tmpvar_12.y < 0.0)) {\n      if ((tmpvar_12.x >= 0.0)) {\n        tmpvar_14 += 3.141593;\n      } else {\n        tmpvar_14 = (tmpvar_14 - 3.141593);\n      };\n    };\n  } else {\n    tmpvar_14 = (sign(tmpvar_12.x) * 1.570796);\n  };\n  vec2 tmpvar_17;\n  tmpvar_17.x = (tmpvar_14 * 0.1591549);\n  tmpvar_17.y = tmpvar_13;\n  vec2 tmpvar_18;\n  tmpvar_18.x = ((tmpvar_17.x * 2.0) + q18);\n  tmpvar_18.y = ((0.5 * log(tmpvar_13)) + q19);\n  uv_4 = (0.5 + (0.5 - abs(\n    ((fract((tmpvar_18 * 0.5)) * 2.0) - 1.0)\n  )));\n  vec3 tmpvar_19;\n  tmpvar_19.xy = ((uv_4 - 0.5) * min ((1.0 - texture (sampler_main, uv_4).z), (1.0 - \n    ((texture (sampler_blur2, uv_4).xyz * scale2) + bias2)\n  .z)));\n  tmpvar_19.z = min ((1.0 - texture (sampler_main, uv_4).z), (1.0 - (\n    (texture (sampler_blur2, uv_4).xyz * scale2)\n   + bias2).z));\n  float tmpvar_20;\n  tmpvar_20 = clamp ((abs(\n    ((1.0 - ((texture (sampler_blur2, uv_4).xyz * scale2) + bias2).z) - clamp ((1.0 - (\n      (texture (sampler_blur2, tmpvar_3).xyz * scale2)\n     + bias2).z), 0.1, 0.4))\n  ) + 0.2), 0.0, 1.0);\n  float tmpvar_21;\n  tmpvar_21 = clamp (((1.0 - \n    exp(-(((texture (sampler_blur1, uv_4).xyz * scale1) + bias1).x))\n  ) - 0.2), 0.0, 1.0);\n  ret_5 = ((mix (texture (sampler_main, uv_4).xyz, \n    ((texture (sampler_blur1, uv_4).xyz * scale1) + bias1)\n  , vec3(tmpvar_20)).x * (0.2 + \n    ((1.0 - tmpvar_20) * (1.0 - min ((1.0 - texture (sampler_main, uv_4).z), (1.0 - \n      ((texture (sampler_blur2, uv_4).xyz * scale2) + bias2)\n    .z))))\n  )) * (1.0 + (0.5 * \n    sin((((tmpvar_19 / q7) * tmpvar_2) + tmpvar_1))\n  )));\n  vec3 tmpvar_22;\n  tmpvar_22.xy = vec2(0.0, 1.0);\n  tmpvar_22.z = (tmpvar_21 * 3.0);\n  ret_5 = (mix (ret_5, tmpvar_22, vec3(tmpvar_21)) + ((\n    pow ((1.0 - mix (texture (sampler_main, uv_4).xyz, (\n      (texture (sampler_blur1, uv_4).xyz * scale1)\n     + bias1), vec3(0.8, 0.8, 0.8)).z), 3.0)\n   * \n    (0.5 + (0.5 * slow_roam_cos))\n  ) * q19).xyz);\n  ret_5 = (1.0 - exp((-2.0 * ret_5)));\n  vec4 tmpvar_23;\n  tmpvar_23.w = 1.0;\n  tmpvar_23.xyz = ret_5;\n  ret = tmpvar_23.xyz;\n }"}