/* Shader 95 source, checksum 172875 */
#extension GL_ARB_draw_buffers : enable
uniform mat2 BumpEnvMat[16];
vec4 V[16], O[12], R[32];
void shader_fn (const int aL);
void
main (void)
{
  for (int i = 0; i < 16; ++i)
    {
      V[i] = vec4 (0.0, 0.0, 0.0, 1.0);
  } for (int i = 0; i < 12; ++i)
    {
      O[i] = vec4 (0.0, 0.0, 0.0, 1.0);
  } for (int i = 0; i < 32; ++i)
    {
      R[i] = vec4 (0.0, 0.0, 0.0, 1.0);
    } V[0] = gl_Color;
  V[2] = gl_TexCoord[0];
  V[3] = gl_TexCoord[1];
  V[4] = gl_TexCoord[2];
  V[6] = gl_TexCoord[4];
  shader_fn (0);
  gl_FragData[0] = O[1];
} uniform sampler2D S0;

uniform sampler2D S1;
uniform sampler2D S2;
uniform samplerCube S3;
uniform sampler2D S4;
uniform sampler2D S5;
uniform sampler2D S6;
uniform sampler2D S7;
uniform sampler2D S8;
uniform sampler2D S9;
uniform sampler2D S10;
uniform sampler2D S11;
uniform sampler2D S12;
uniform sampler2D S13;
uniform sampler2D S14;
uniform sampler2D S15;
vec4
sampler0_fn (vec4 v)
{
  return v;
}

vec4
sampler1_fn (vec4 v)
{
  return v;
}

vec4
sampler2_fn (vec4 v)
{
  return v;
}

vec4
sampler3_fn (vec4 v)
{
  return v;
}

vec4
sampler4_fn (vec4 v)
{
  return v;
}

vec4
sampler5_fn (vec4 v)
{
  return v;
}

vec4
sampler6_fn (vec4 v)
{
  return v;
}

vec4
sampler7_fn (vec4 v)
{
  return v;
}

vec4
sampler8_fn (vec4 v)
{
  return v;
}

vec4
sampler9_fn (vec4 v)
{
  return v;
}

vec4
sampler10_fn (vec4 v)
{
  return v;
}

vec4
sampler11_fn (vec4 v)
{
  return v;
}

vec4
sampler12_fn (vec4 v)
{
  return v;
}

vec4
sampler13_fn (vec4 v)
{
  return v;
}

vec4
sampler14_fn (vec4 v)
{
  return v;
}

vec4
sampler15_fn (vec4 v)
{
  return v;
}

vec4
MUL (const vec4 v0, const vec4 v1)
{
  return v0 * v1;
}

vec4
DP3 (const vec4 v0, const vec4 v1)
{
  return vec4 (dot (v0.xyz, v1.xyz));
}

vec4
TEXCRD (const vec4 v)
{
  return v;
}

vec4
TEXLD (sampler2D s, const vec4 t)
{
  return texture2D (s, t.xy);
}

vec4
TEXLD (samplerCube s, const vec4 t)
{
  return textureCube (s, t.xyz);
}

vec4
TEXLD (sampler3D s, const vec4 t)
{
  return texture3D (s, t.xyz);
}

void
shader_fn (const int aL)
{
  R[1] = sampler2_fn (TEXLD (S2, V[4]));
  R[3].xyz = TEXCRD (V[6]).xyz;
  R[2].x = clamp (DP3 (R[3], 2.0 * (R[1] - vec4 (0.5))), 0.0, 1.0).x;
  R[1].xyz = TEXCRD (V[3]).xyz;
  O[1] = sampler0_fn (TEXLD (S0, V[2]));
  R[2] = MUL (O[1], R[2].xxxx);
  O[1] = clamp (DP3 (R[1], R[1]), 0.0, 1.0);
  O[1] = MUL (R[2], (vec4 (1.0) - O[1].xxxx));
  O[1] = (MUL (V[0], O[1]) * 2.0);
}

/* Compile status: ok */
/* GPU code */
/*
# Fragment Program/Shader
  0: MOV TEMP[0], CONST[48];
  1: MOV TEMP[1], CONST[48];
  2: MOV TEMP[2], CONST[48];
  3: MOV TEMP[3], CONST[48];
  4: MOV TEMP[4], CONST[48];
  5: MOV TEMP[5], CONST[48];
  6: MOV TEMP[6], CONST[48];
  7: MOV TEMP[7], CONST[48];
  8: MOV TEMP[8], CONST[48];
  9: MOV TEMP[0], INPUT[1];
 10: MOV TEMP[1], INPUT[4];
 11: MOV TEMP[2], INPUT[5];
 12: MOV TEMP[3], INPUT[6];
 13: MOV TEMP[4], INPUT[8];
 14: MOV TEMP[9].x, CONST[48].xxxx;
 15: MOV TEMP[10].xy, TEMP[3];
 16: TEX TEMP[3], TEMP[10], texture[2], 2D;
 17: MOV TEMP[11], TEMP[3];
 18: MOV TEMP[12], TEMP[11];
 19: MOV TEMP[6], TEMP[12];
 20: MOV TEMP[12], TEMP[4];
 21: MOV TEMP[8].xyz, TEMP[12];
 22: SUB TEMP[10], TEMP[6], CONST[50];
 23: MUL TEMP[3], CONST[49].xxxx, TEMP[10];
 24: DP3 TEMP[9].y, TEMP[8], TEMP[3];
 25: MOV TEMP[11], TEMP[9].yyyy;
 26: MAX TEMP[10], TEMP[11], CONST[48].xxxx;
 27: MIN TEMP[3], TEMP[10], CONST[48].wwww;
 28: MOV TEMP[7].x, TEMP[3].xxxx;
 29: MOV TEMP[10], TEMP[2];
 30: MOV TEMP[6].xyz, TEMP[10];
 31: MOV TEMP[2].xy, TEMP[1];
 32: TEX TEMP[1], TEMP[2], texture[0], 2D;
 33: MOV TEMP[3], TEMP[1];
 34: MOV TEMP[4], TEMP[3];
 35: MOV TEMP[5], TEMP[4];
 36: MOV TEMP[3], TEMP[7].xxxx;
 37: MUL TEMP[4], TEMP[5], TEMP[3];
 38: MOV TEMP[7], TEMP[4];
 39: DP3 TEMP[9].y, TEMP[6], TEMP[6];
 40: MOV TEMP[4], TEMP[9].yyyy;
 41: MAX TEMP[1], TEMP[4], CONST[48].xxxx;
 42: MIN TEMP[5], TEMP[1], CONST[48].wwww;
 43: SUB TEMP[2], CONST[48].wwww, TEMP[5].xxxx;
 44: MUL TEMP[1], TEMP[7], TEMP[2];
 45: MOV TEMP[5], TEMP[1];
 46: MUL TEMP[1], TEMP[0], TEMP[5];
 47: MUL TEMP[5], TEMP[1], CONST[49].xxxx;
 48: MOV OUTPUT[2], TEMP[5];
 49: END
*/
/* Parameters / constants */
/*
param list 0x7fb5882f1f70
dirty state flags: 0x0
param[0] sz=128 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[1] sz=124 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[2] sz=120 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[3] sz=116 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[4] sz=112 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[5] sz=108 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[6] sz=104 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[7] sz=100 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[8] sz=96 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[9] sz=92 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[10] sz=88 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[11] sz=84 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[12] sz=80 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[13] sz=76 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[14] sz=72 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[15] sz=68 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[16] sz=64 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[17] sz=60 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[18] sz=56 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[19] sz=52 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[20] sz=48 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[21] sz=44 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[22] sz=40 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[23] sz=36 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[24] sz=32 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[25] sz=28 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[26] sz=24 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[27] sz=20 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[28] sz=16 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[29] sz=12 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[30] sz=8 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[31] sz=4 UNIFORM BumpEnvMat = {0, 0, 0, 0}
param[32] sz=1 SAMPLER S0 = {0, 0, 0, 0}
param[33] sz=1 SAMPLER S1 = {1, 0, 0, 0}
param[34] sz=1 SAMPLER S2 = {2, 0, 0, 0}
param[35] sz=1 SAMPLER S3 = {3, 0, 0, 0}
param[36] sz=1 SAMPLER S4 = {4, 0, 0, 0}
param[37] sz=1 SAMPLER S5 = {5, 0, 0, 0}
param[38] sz=1 SAMPLER S6 = {6, 0, 0, 0}
param[39] sz=1 SAMPLER S7 = {7, 0, 0, 0}
param[40] sz=1 SAMPLER S8 = {8, 0, 0, 0}
param[41] sz=1 SAMPLER S9 = {9, 0, 0, 0}
param[42] sz=1 SAMPLER S10 = {10, 0, 0, 0}
param[43] sz=1 SAMPLER S11 = {11, 0, 0, 0}
param[44] sz=1 SAMPLER S12 = {12, 0, 0, 0}
param[45] sz=1 SAMPLER S13 = {13, 0, 0, 0}
param[46] sz=1 SAMPLER S14 = {14, 0, 0, 0}
param[47] sz=1 SAMPLER S15 = {15, 0, 0, 0}
param[48] sz=4 CONST (null) = {0, 0, 0, 1}
param[49] sz=1 CONST (null) = {2, 2, 2, 2}
param[50] sz=4 CONST (null) = {0.5, 0.5, 0.5, 0.5}
*/
