struct v2f {
  highp vec2 uv;
  highp vec3 nl;
};
varying highp vec3 xlv_nl;
varying highp vec2 xlv_uv;
uniform highp vec4 _TerrainTreeLightColors[4];
uniform sampler2D _MainTex;
lowp vec4 xlat_main (
  in v2f i_1
)
{
  mediump vec3 light_2;
  lowp vec4 col_3;
  int j_4;
  int tmpvar_5;
  tmpvar_5 = 0;
  j_4 = tmpvar_5;
  lowp vec4 tmpvar_6;
  tmpvar_6 = texture2D (_MainTex, i_1.uv);
  lowp vec4 tmpvar_7;
  tmpvar_7 = tmpvar_6;
  col_3 = tmpvar_7;
  vec3 tmpvar_8;
  tmpvar_8 = vec3(0.0, 0.0, 0.0);
  light_2 = tmpvar_8;
  while (true) {
    if (!((j_4 < 3))) {
      break;
    };
    highp vec3 tmpvar_9;
    tmpvar_9 = (light_2 + ((col_3.xyz * i_1.nl[j_4]) * _TerrainTreeLightColors[j_4].xyz));
    light_2 = tmpvar_9;
    int _post_incdec_tmp_10;
    _post_incdec_tmp_10 = j_4;
    int tmpvar_11;
    tmpvar_11 = (j_4 + 1);
    j_4 = tmpvar_11;
  };
  mediump vec4 tmpvar_12;
  tmpvar_12.w = 1.0;
  tmpvar_12.xyz = light_2.xyz;
  return tmpvar_12;
}

void main ()
{
  v2f i_13;
  highp vec2 tmpvar_14;
  tmpvar_14 = xlv_uv;
  i_13.uv = tmpvar_14;
  highp vec3 tmpvar_15;
  tmpvar_15 = xlv_nl;
  i_13.nl = tmpvar_15;
  lowp vec4 tmpvar_16;
  tmpvar_16 = xlat_main (i_13);
  lowp vec4 tmpvar_17;
  tmpvar_17 = tmpvar_16;
  gl_FragData[0] = tmpvar_17;
}

